我正在嘗試了解郵件伺服器,並且對設定中的所有移動部分感到非常畏懼。
目前我無法從我的 smtp 伺服器發送。我可以很好地接收來自各個網域的郵件。
在我的日誌中,當我嘗試發送郵件時,我看到以下條目。
- 郵件日誌
Jul 31 11:59:15 mail postfix/submission/smtpd[1290]: connect from unknown[78.136.22.232]
Jul 31 12:01:03 mail postfix/postscreen[1294]: CONNECT from [209.85.214.179]:46881 to [45.77.139.149]:25
Jul 31 12:01:03 mail postfix/postscreen[1294]: PASS OLD [209.85.214.179]:46881
Jul 31 12:01:03 mail postfix/smtpd[1297]: connect from mail-pl1-f179.google.com[209.85.214.179]
Jul 31 12:01:05 mail postfix/smtpd[1297]: 03178A46: client=mail-pl1-f179.google.com[209.85.214.179]
Jul 31 12:01:05 mail postfix/cleanup[1299]: 03178A46: message-id=<CAMJ_LmbWv_5o7GZJx8RwqOqz52O_sWTrgX0_=mSi_Vt6+uz++Q@mail.gmail.com>
Jul 31 12:01:05 mail postfix/cleanup[1299]: 03178A46: milter-reject: END-OF-MESSAGE from mail-pl1-f179.google.com[209.85.214.179]: 5.7.1 Gtube pattern; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-pl1-f179.google.com>
Jul 31 12:01:05 mail postfix/smtpd[1297]: disconnect from mail-pl1-f179.google.com[209.85.214.179] ehlo=2 starttls=1 mail=1 rcpt=1 data=0/1 quit=1 commands=6/7
Jul 31 12:04:15 mail postfix/submission/smtpd[1290]: timeout after CONNECT from unknown[78.136.22.232]
Jul 31 12:04:15 mail postfix/submission/smtpd[1290]: disconnect from unknown[78.136.22.232] commands=0/0
root@mail:~#
我的作業系統是 Debian 9,測試時所有 iptables 規則都已刷新。這是我的 master.cf 和 main.cf -->https://pastebin.com/9WUnzYZt
謝謝
編輯1: 有件事我忘了說。我從我的 main.cf 執行了 grep 'smtp.*restrict' 。我注意到 smtpd_recipient_restrictions 指向一個 sql 檔案。 sql 檔案本身有以下查詢。
root@mail:~# grep smtp.*restrict /etc/postfix/main.cf
smtpd_relay_restrictions = reject_non_fqdn_recipient
smtpd_recipient_restrictions = check_recipient_access mysql:/etc/postfix/sql/recipient-access.cf
smtpd_client_restrictions = permit_mynetworks
smtpd_helo_restrictions = permit_mynetworks
smtpd_data_restrictions = reject_unauth_pipelining
root@mail:~# grep query /etc/postfix/sql/recipient-access.cf
query = select if(sendonly = true, 'REJECT', 'OK') AS access from accounts where username = '%u' and domain = '%d' and enabled = true LIMIT 1;
root@mail:~#
編輯2:我配置了 mutt 來排除這是客戶端問題,但我似乎仍然無法讓它工作。
└─[$] <> cat muttrc
set folder = "imaps://[email protected]@imap.mydomain.abc:993"
set smtp_url = "smtp://[email protected]@smtp.mydomain.abc:587"
set from = "[email protected]"
set realname = "hostmaster"
set spoolfile = "+Inbox"
set record = "+Sent"
set trash = "+Trash"
set postponed = "+Drafts"
mailboxes =Inbox =Sent =Trash =Drafts =Junk =Other
但是,每當我嘗試發送郵件時,無論它是另一個網域還是與寄件者相同的電子郵件地址,我都會看到此錯誤
SMTP session failed: 451 4.3.0 <[email protected]>: Temporary lookup failure
答案1
第一個問題:我的 sender-login-maps.cf 檔案中有一個拼字錯誤。指定 dbuser 時說的是「ser」而不是「user」。
第二個問題:在我能夠發送郵件後,我啟動了防火牆,但停止接收郵件。這是由於 tcp 25 的傳入連線被阻止。我不允許這樣做,因為我認為如果我將 smtpd 配置為使用 587,則不需要開啟連接埠 25,但傳入連線的情況並非如此。
郵件設定現在正在按預期工作。