Zimbra 不再通過 smtp 中繼發送郵件
從昨天開始,我們的 Zimbra-Server 就無法處理外發郵件了。星期五我安裝了一些更新(用於外殼衝擊和核心更新),重新啟動並且執行良好。但從昨天開始,向外部收件人發送郵件停止工作。內部郵件(不使用中繼 MTA)有效。
由於我沒有更改任何設置,因此我使用 swaks 檢查了遠端伺服器(Strato)並且它有效:
swaks -s smtp.strato.de -tls -p 587 -f mail@example.com -t mail@example2.com -a -au mail@example.com -ap xxxxxx
/opt/zimbra/conf/relay_password 中列出了與 -au 和 -ap 列出的相同憑據
通過 Zimbra 發送郵件時,我從 /var/log/zimbra.log 獲得以下資訊:
Oct 2 09:00:10 server postfix/smtp[8144]: 3952465A24A: to=<mail@example2.com>, relay=smtp.strato.de[81.169.145.133]:587, delay=0.55, delays=0.27/0.01/0.26/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server smtp.strato.de[81.169.145.133]: bad protocol / cancel)
Zimbra main.cf
mail_owner = postfix bounce_notice_recipient = postmaster content_filter = smtp-amavis:[127.0.0.1]:10024 smtp_sasl_security_options = noanonymous relayhost = smtp.strato.de:587 virtual_alias_expansion_limit = 10000 smtpd_sasl_authenticated_header = no smtp_helo_name = $myhostname broken_sasl_auth_clients = yes minimal_backoff_time = 300s sender_canonical_maps = proxy:ldap:/opt/zimbra/conf/ldap-scm.cf always_add_missing_headers = yes smtpd_tls_key_file = /opt/zimbra/conf/smtpd.key smtpd_helo_required = yes virtual_transport = error sendmail_path = /opt/zimbra/postfix/sbin/sendmail smtpd_sasl_security_options = noanonymous smtpd_recipient_restrictions = reject_non_fqdn_recipient, permit_mynetworks, reject_unlisted_recipient, reject_non_fqdn_sender, permit smtpd_relay_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination smtpd_reject_unlisted_recipient = no bounce_queue_lifetime = 5d smtp_sasl_mechanism_filter = local_header_rewrite_clients = permit_mynetworks,permit_sasl_authenticated smtpd_data_restrictions = reject_unauth_pipelining smtpd_milters = smtpd_tls_security_level = may smtpd_sender_restrictions = check_sender_access regexp:/opt/zimbra/postfix/conf/tag_as_originating.re, permit_mynetworks, permit_sasl_authenticated, permit_tls_clientcerts, check_sender_access regexp:/opt/zimbra/postfix/conf/tag_as_foreign.re lmtp_host_lookup = dns delay_warning_time = 0h header_checks = queue_run_delay = 300s virtual_mailbox_maps = proxy:ldap:/opt/zimbra/conf/ldap-vmm.cf notify_classes = resource,software command_directory = /opt/zimbra/postfix/sbin smtpd_client_restrictions = reject_unauth_pipelining smtpd_tls_auth_only = yes virtual_alias_maps = proxy:ldap:/opt/zimbra/conf/ldap-vam.cf mailq_path = /opt/zimbra/postfix/sbin/mailq smtpd_banner = $myhostname ESMTP $mail_name mynetworks = 127.0.0.0/8 192.168.117.0/24 [::1]/128 [fe80::]/64 lmtp_connection_cache_time_limit = 4s transport_maps = proxy:ldap:/opt/zimbra/conf/ldap-transport.cf virtual_alias_domains = proxy:ldap:/opt/zimbra/conf/ldap-vad.cf smtpd_sasl_auth_enable = yes smtpd_tls_loglevel = 1 maximal_backoff_time = 4000s virtual_mailbox_domains = proxy:ldap:/opt/zimbra/conf/ldap-vmd.cf inet_protocols = ipv4 non_smtpd_milters = daemon_directory = /opt/zimbra/postfix/libexec smtp_tls_security_level = alias_maps = hash:/etc/aliases setgid_group = postdrop smtp_cname_overrides_servername = no mydestination = localhost smtpd_end_of_data_restrictions = import_environment = myhostname = mail.example.com message_size_limit = 1048576000 recipient_delimiter = in_flow_delay = 1s smtpd_sasl_tls_security_options = $smtpd_sasl_security_options queue_directory = /opt/zimbra/data/postfix/spool propagate_unmatched_extensions = canonical manpage_directory = /opt/zimbra/postfix/man smtp_fallback_relay = smtpd_tls_cert_file = /opt/zimbra/conf/smtpd.crt smtp_sasl_password_maps = hash:/opt/zimbra/conf/relay_password lmtp_connection_cache_destinations = newaliases_path = /opt/zimbra/postfix/sbin/newaliases smtp_sasl_auth_enable = yes mailbox_size_limit = 0 disable_dns_lookups = no
這是 Zimbra 8.04。有什麼提示嗎?
編輯:發送郵件後具有更高的日誌級別,這是我從 zimbra.log 得到的:
Oct 2 09:26:51 server postfix/smtp[21000]: warning: SASL authentication failure: ServerSignature expected in SCRAM-SHA-1 input
正如其他人指出的那樣,您的 SMTP 中繼可能已經改變了一些東西。看起來他們改變了他們宣傳的身份驗證機制。
我不知道它是否
swaks
會告訴您它在輸出中使用了哪種身份驗證機制,但是您可以嘗試指定身份驗證類型並查看是否通過。digest-md5 的參數為:
swaks -s smtp.strato.de -tls -p 587 -f mail@example.com -t mail@example2.com -a digest-md5 -au mail@example.com -ap xxxxxx
有關其他身份驗證類型(如 SCRAM-SHA1),請參見 swaks手冊頁。
在 Zimbra main.cf 中,您可以通過設置以下參數(在您的配置中為空)來指定身份驗證類型:
smtp_sasl_mechanism_filter = digest-md5
如果這沒有幫助,也許你的系統上缺少一個包。