Локальный запуск spamassassin в почтовой системе вызывает проблемы с загрузкой. В другой системе, которая использует Exim в качестве MTA, отправка почты массиву внешних систем spamassassin было всего лишь изменением одной строки в конфигурации, и они запрашивались циклически.
Теперь при новой настройке постфикса транспорт для сканирования спама в /etc/postfix/master.cf выглядит так:
smtpd pass - - - - 200 smtpd -o content_filter=spamassassin
и определение spamassassin также в /etc/postfix/master.cf:
spamassassin unix - n n - - pipe
user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Я хотел бы снять нагрузку с этой системы, но, похоже, не могу найти никакой документации специально для постфиксных транспортов для внешнего spamassassin. Самое близкое, что я пришел, было то, что я нашел в документах postfix http://www.postfix.org/FILTER_README.html в примере расширенного фильтра содержимого, который заставил меня попробовать отредактировать транспортную строку, чтобы:
smtpd pass - - - - 200 smtpd -o content_filter=scan:<ExternalIP>:<ExternalPort>
Однако транспорт оказался недоступен.
spamassassin unix - n n - - pipe
user=debian-spamd argv=/usr/bin/spamc -d <external_host1>,<external_host2>,<external_host3> -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Это сработало, хотя это не циклический перебор, а просто переключение при отказе.
Также man spamc
Configuration File
The above command-line switches can also be loaded from a configuration file.
The format of the file is similar to the SpamAssassin rules files; blank lines and lines beginning with "#" are ignored. Any space-separated words are considered additions to the command line, and are prepended. Newlines are treated as equivalent to spaces. Existing command line switches will override any settings in the configuration file.
If the -F switch is specified, that file will be used. Otherwise, "spamc" will attempt to load spamc.conf in "SYSCONFDIR" (default: /etc/mail/spamassassin). If that file doesn't exist, and the -F switch is not specified, no configuration file will be read.
Example:
# spamc global configuration file
# connect to "server.example.com", port 783
-d server.example.com
-p 783
это вещь.