Я хочу настроить Postfix для работы со SpamAssassin. У меня проблема в том, что почта будет внутренне пересылаться между Postfix и SpamAssassin, пока я не получу ошибку «Слишком много прыжков».
Постфиксная версия:
постконф -d | grep версия_почты
почтовая_версия = 3.5.6
milter_macro_v = $mail_name $mail_version
Версия SpamAssassin:
спамассасин -V
SpamAssassin версии 3.4.6
работает на Perl версии 5.32.1
Это мой заголовок X-Spam-Status:
Статус X-Spam: Нет, оценка = 0,6, требуется = 2,0, тесты = HTML_MESSAGE,
RCVD_IN_ZEN_BLOCKED_OPENDNS,SPF_HELO_NONE,TVD_SPACE_RATIO,
TVD_SPACE_RATIO_MINFP,T_SCC_BODY_TEXT_LINE автообучение=нет
autolearn_force = нет версии = 3.4.6
Получено: example.com (Postfix, от пользователя 109)
идентификатор EA88EA716D; Пн, 28 февраля 2022 г., 12:38:12 +0100 (центрально-европейское время)
Получено: example.com (Postfix, от пользователя 109)
идентификатор 04220A716E; Пн, 28 февраля 2022 г., 12:37:59 +0100 (центрально-европейское время)
Получено: example.com (Postfix, от пользователя 109)
идентификатор B583DA716D; Пн, 28 февраля 2022 г., 12:37:58 +0100 (центрально-европейское время)
...
main.cf
мое происхождение = локальный хост
mydestination = $myhostname localhost.$mydomain localhost
виртуальный_алиас_доменов = example.com
virtual_alias_maps = хеш:/etc/postfix/виртуальный
alias_maps = хеш:/и т.д./псевдонимы
alias_database = хэш:/и т.д./псевдонимы
smtpd_relay_restrictions = allow_mynetworks
message_size_limit = 15000000
сломанный_sasl_auth_clients = да
smtp_tls_key_file = /etc/letsencrypt/live/example.com/privkey.pem
smtp_tls_cert_file = /etc/letsencrypt/live/example.com/fullchain.pem
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_security_level = зашифровать
smtp_tls_note_starttls_offer = да
smtp_tls_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtp_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtp_tls_loglevel = 1
smtpd_banner = $myhostname ESMTP $mail_name
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtpd_tls_session_cache_timeout = 3600 с
smtpd_tls_auth_only = да
smtpd_sasl_auth_enable = да
smtpd_tls_loglevel = 1
smtpd_sasl_security_options = неанонимный
smtpd_tls_cert_file = /etc/letsencrypt/live/mail2.brocksieper.de-0001/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail2.brocksieper.de-0001/privkey.pem
smtpd_client_connection_count_limit = 25
smtpd_tls_received_header = да
smtpd_tls_eecdh_grade = сильный
smtpd_tls_security_level = зашифровать
smtpd_tls_mandatory_ciphers = высокий
smtpd_tls_exclude_ciphers = LOW, EXP, NULL, RC4, DSS, SEED, IDEA, MD5, PSK, DES, SRP, CAMELLIA, SHA1, SHA256, SHA384
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unlisted_recipient, reject_invalid_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient,reject_unknown_sender_domain,reject_unauth_pipelining,reject_rhsbl_sender dsn.rfc-ignorant.org, reject_rbl_client bl.spamcop.net,reject_rbl_client dul.dnsbl.sorbs.net,check_policy_service inet:127.0. 0,1:10023
tls_preempt_cipherlist = да
tls_ssl_options = NO_RENEGOTIATION
уровень_совместимости = 2
content_filter=spamassassin:[127.0.0.1]:783
mailbox_command = /usr/sbin/sendmail
Обратите внимание на строку content_filter=spamassassin:[127.0.0.1]:783
. Если я закомментирую эту строку, Postfix работает нормально, но письма не проходят через фильтр.
и, наконец, мой master.cf
отправка inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=шифровать
-o smtpd_sasl_auth_enable=да
-o smtpd_client_restrictions=permit_sasl_authenticated,отклонить
-o content_filter=спамассасин
spamassassin unix - n n - - pipe
user=debian-spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${отправитель} ${получатель}