信件伺服器是 centos7 + postfix,
1、只要從公司內部網路寄的信件都能收的到,
例: 從公司內部網路用A信件伺服器或B信件伺服器寄信給B信件伺服器,
B伺服器可以收的到信。
2、但從公司外部網路用A信件伺服器或B信件伺服器寄信給B信件伺服器,
或用GMAIL、HINET等外部的信箱寄信給B信件伺服器,
B伺服器就完全收不到信,甚至連LOG都沒看到。
以下是GMAIL的訊息:
The recipient server did not accept our requests to connect. For more information, go to https://support.google.com/mail/answer/7720 [b.com.tw xx.xxx.xxx.xx: timed out]
請問可能是那邊設定有問題?
可外寄而無法收信的關鍵, 通常在
1.DNS的MX紀錄
2.防火牆檔port, 或是防火牆的NAT沒正確接上
檢查一下 b.com.tw xx.xxx.xxx.xx 這個MX 記錄是對的嗎?
如果是對的,那就應該是防火牆開port或NAT的問題
如同上面尼克大說的
外網收不到應該就是DNS或防火牆的問題
基本的檢測要先做:
telnet xxx.xxx.com.tw 25 看看能不能通,不能通就很明顯了:
同意尼克和BKY,通常如果外部寄信寄不進來通常就是防火牆沒有設定好。
如果要確認b.com.tw
的MX
紀錄,你可以先用nslookup
指令查看,不論是在Windows的cmd下或是在centos的terminal或console下都可以用nslookup
$ nslookup -query=MX b.com.tw
$ nslookup -query=MX b.com.tw 8.8.8.8
第一個nslookup
是使用預設的DNS伺服器來查詢,第二個nslookup
是使用Google的DNS伺服器來查詢。理論上兩個查到的要相同。
再來就是防火牆的設定了,你要對外開啟的是TCP的埠25,就是TCP port 25,然後要對應內部postfix的IP位址與其SMTP埠號(通常也是設定成25),你可以在centos的terminal或console下面查看
$ postconf -Mf
(其實使用postconf -Mf smtp/inet
應該可以,但是怕有非預設的設定,所以還是全部顯示出來較好。)
請找尋最右邊的欄位是smtpd
的設定項目再看看最左邊的設定就可以確定該postfix是使用預設的埠或是有另外指定其他埠和IP位址。
nslookup -query=MX b.com.tw
伺服器: UnKnown
Address: 192.168.3.11
b.com.tw MX preference = 10, mail exchanger = b.com.tw
b.com.tw internet address = 192.168.3.16
nslookup -query=MX b.com.tw 8.8.8.8
伺服器: dns.google
Address: 8.8.8.8
b.com.tw
primary name server = ns11.twnic.net.tw
responsible mail addr = tech.twnic.net.tw
serial = 1710129661
refresh = 3600 (1 hour)
retry = 600 (10 mins)
expire = 86400 (1 day)
default TTL = 38400 (10 hours 40 mins)
請問這樣2個查詢是否相同?
兄弟:
你的網址確認是 b.com.tw 是嗎?
b.com.tw 不會是內部IP