字尾:收件者地址被拒絕:HELO/EHLO 無效

字尾:收件者地址被拒絕:HELO/EHLO 無效

問題似乎是 MS Outlook 2007 由於某種奇怪的原因而沒有為一個特定網域發送 SMTP 身份驗證。

我為我的網域和數十個客戶端網域運行 iRedMail 伺服器(它使用庫存 debian 7/wheezy、postfix 2.9.6-2)。問題是我有一個客戶端無法向自己發送電子郵件(不僅僅是我的電子郵件,而是整個網域)-它被拒絕,reject_non_fqdn_helo_hostname但客戶端正在使用SMTP AUTH 並已正確設置,因此它應該繞過FQDN檢查。看起來 MUA 不僅僅對我和我的 coleaques 電子郵件地址使用 SMTP AUTH。

有沒有人看過這個?我該如何解決這個問題?任何意見都將受到高度讚賞!

會不會是跟MUA有關係?她正在使用 Outlook(不是 Express)?

請參閱以下顯示不同情況的日誌片段。所有這些都在相同的配置/相同的 MUA/IP 中捕獲,...:

1)這是可以的:我的客戶端向第三方伺服器發送電子郵件;使用 SMTP 身份驗證

5 月 28 日 13:02:13 email2 postfix/smtpd[1191]:從 <censored> 連接
5 月 28 日 13:02:13 email2 postfix/smtpd[1191]: 28A5D35E61DC: client=<censored>, sasl_method=LOGIN, sasl_username=<[電子郵件受保護]>
5 月 28 日 13:02:26 email2 postfix/cleanup[1435]: 28A5D35E61DC: message-id=<006c01ce5b92$d33805e0$79a811a0$@cz>
5 月 28 日 13:02:44 email2 postfix/qmgr[376]: 28A5D35E61DC: from=<[電子郵件受保護]>,大小=4392922,nrcpt=7(隊列活動)
5 月 28 日 13:02:44 email2 postfix/smtp[1580]: 28A5D35E61DC: to=<[電子郵件受保護]>,中繼=127.0.0.1[127.0.0.1]:10024,延遲=32,延遲=31/0/0/0.88,dsn=2.0.0,狀態=已發送(250 2.0.0 來自MTA(smtp: [127.0 .0.1]:10025): 250 2.0.0 好的: 排隊為 B061435E61DE)
5 月 28 日 13:02:47 email2 postfix/qmgr[376]:28A5D35E61DC:已刪除

2)這是可以的:我的客戶發送電子郵件到本地帳戶(她的大學);她正在使用 SMTP AUTH

5 月 28 日 13:06:18 email2 postfix/smtpd[2519]:從 <censored> 連接
5 月 28 日 13:06:18 email2 postfix/smtpd[2519]: 49CE735E61D4: client=<censored>, sasl_method=LOGIN, sasl_username=<[電子郵件受保護]>
5 月 28 日 13:06:18 email2 postfix/cleanup[429]: 49CE735E61D4: message-id=<007201ce5b93$5df069c0$19d13d40$@cz>
5 月 28 日 13:06:19 email2 postfix/qmgr[376]: 49CE735E61D4: from=<[電子郵件受保護]>,大小=10875,nrcpt=1(隊列活動)
5 月 28 日 13:06:19 email2 postfix/smtp[2295]: 49CE735E61D4: to=<[電子郵件受保護]>,中繼=127.0.0.1[127.0.0.1]:10024,延遲=1.6,延遲=1.2/0/0/0.43,dsn=2.0.0,狀態=已發送(250 2.0.0 來自MTA(smtp: [127.0 .0.1]:10025): 250 2.0.0 好的: 排隊為 CC61F35E61D7)
5 月 28 日 13:06:19 email2 postfix/qmgr[376]:49CE735E61D4:已刪除

3)問題,電子郵件發送到我的帳戶(同一台伺服器,但不同的網域),不使用 SMTP AUTH?

5 月 28 日 13:04:38 email2 postfix/smtpd[1433]:從 <censored> 連接
5 月 28 日 13:04:38 email2 postfix/smtpd[1433]:NOQUEUE:拒絕:來自 <censored> 的 RCPT:554 5.7.1 <my_email>>:收件者位址被拒絕:無效 HELO/EHLO;必須是 FQDN 或地址文字,而不是“xxx”;來自=<[電子郵件受保護]> to=<我的位址> proto=ESMTP helo=
5 月 28 日 13:04:41 email2 postfix/smtpd[1433]:與 <censored> 斷開連接

部分後綴配置:

smtpd_sender_restrictions=permit_mynetworks,
                            reject_authenticated_sender_login_mismatch,
                            允許_sasl_authenticated
smtpd_recipient_restrictions =拒絕_未知_寄件者_域,
                               拒絕未知收件人域,
                               拒絕非fqdn_sender,
                               拒絕非 FQDN 收件人,
                               拒絕未列出的收件人,
                               check_policy_service inet:127.0.0.1:7777,
                               check_policy_service inet:127.0.0.1:10031,
                               允許我的網絡,
                               允許_sasl_驗證,
                               拒絕未經驗證的目的地
smtpd_helo_restrictions=permit_mynetworks,
                          允許_sasl_驗證,
                          reject_non_fqdn_helo_hostname,
                          拒絕_invalid_helo_主機名,
                          check_helo_access pcre:/etc/postfix/helo_access.pcre

查看輸出會議後貓主.cfg

答案1

HELO/EHLO 發生SMTP 身份驗證。如果您的伺服器配置了reject_non_fqdn_helo_hostname = yes,它將拒絕任何具有無效主機名稱的連接進入 SMTP AUTH 部分。

雖然保留此拒絕將減少一些垃圾郵件,但它也會阻止一些合法郵件。您應該仔細查看 Postfix 文件以了解拒絕_invalid_helo_主機名smtp_helo_限制弄清楚你希望它如何工作。

答案2

smtpd_recipient_restrictions假設您所有的客戶都表現良好,那麼您就可以了。因為他們沒有(沒有發送正確的 HELO),所以你至少應該有類似的東西

smtpd_recipient_restrictions = reject_unknown_sender_domain, 
                               reject_unknown_recipient_domain, 
                               permit_sasl_authenticated, 
                               reject_non_fqdn_sender, 
                               reject_non_fqdn_recipient, 
                               reject_unlisted_recipient, 
                               check_policy_service inet:127.0.0.1:7777, 
                               check_policy_service inet:127.0.0.1:10031, 
                               permit_mynetworks, 
                               reject_unauth_destination

更好的是:

smtpd_recipient_restrictions =
    check_recipient_access hash:/etc/postfix/access-recipient-rfc,
    check_client_access cidr:/etc/postfix/access-client,
    check_helo_access hash:/etc/postfix/access-helo,
    check_sender_access hash:/etc/postfix/access-sender,
    check_recipient_access hash:/etc/postfix/access-recipient,
    permit_mynetworks,
    permit_sasl_authenticated, 
    reject_unknown_sender_domain,
    reject_non_fqdn_sender,
    reject_unknown_recipient_domain,
    reject_non_fqdn_recipient,
    reject_rbl_client zen.spamhaus.org,
    reject_rbl_client ix.dnsbl.manitu.net,
    # greylisting
    check_policy_service inet:127.0.0.1:10023,
    # policyd-weight
    check_policy_service inet:127.0.0.1:12525,
    reject_unauth_destination,
    reject_unverified_recipient,
    permit

此外,您應該將所有限制整合到smtpd_recipient_restrictions.自從HELO 先於 SASL 身份驗證,在 中允許 SASL 身份驗證沒有用處smtpd_helo_restrictions

一般來說,使用 just 是一個很好的做法smtpd_recipient_restrictions,因為您可以在那裡做所有事情,這樣可以節省您重複的工作,並且在 helo 之後終止的連接的網路開銷並不大。

答案3

問題出在policyd(cluebringer)......第一次從日誌看不到,拒絕不是來自後綴限制,而是來自policyd。

背景

我在cluebringers群組internal_domains中只有我的主網域(安裝後),並且所有新網域都不存在...為了解決這個問題,我決定清空internal_domains,現在一切都按預期工作。

謝謝你的幫忙!

相關內容