ฉันต้องการกำหนดค่า Postfix ให้ทำงานกับ SpamAssassin ฉันมีปัญหา จดหมายจะถูกตีกลับภายในระหว่าง Postfix และ SpamAssassin จนกว่าฉันจะได้รับข้อผิดพลาด "Too many Hops"
รุ่น Postfix:
postconf -d | grep mail_version
mail_version = 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=ไม่
autolearn_force=ไม่มีเวอร์ชัน=3.4.6
ได้รับ: โดย example.com (Postfix จาก userid 109)
รหัส EA88EA716D; จ. 28 ก.พ. 2565 12:38:12 น. +0100 (CET)
ได้รับ: โดย example.com (Postfix จาก userid 109)
รหัส 04220A716E; จ. 28 ก.พ. 2565 12:37:59 น. +0100 (CET)
ได้รับ: โดย example.com (Postfix จาก userid 109)
รหัส B583DA716D; จ. 28 ก.พ. 2565 12:37:58 น. +0100 (CET)
...
main.cf
myorigin = โลคอลโฮสต์
mydestination = $myhostname localhost.$mydomain localhost
virtual_alias_domains = example.com
virtual_alias_maps = แฮช:/etc/postfix/virtual
alias_maps = แฮช:/etc/aliases
alias_database = แฮช:/etc/aliases
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated ปฏิเสธ_unauth_destination
message_size_limit = 15,000,000
Broken_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 = ต่ำ, EXP, aNULL, 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=spamasassin:[127.0.0.1]:783
mailbox_command = /usr/sbin/sendmail
โปรดสังเกตเส้น content_filter=spamasassin:[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 ยูนิกซ์ - n n - - ไปป์
ผู้ใช้ = debian-spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}