iT邦幫忙

0

收不到公司外部寄進來的信件

  • 分享至 

  • xImage

信件伺服器是 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]

請問可能是那邊設定有問題?

[b.com.tw xx.xxx.xxx.xx: timed out]
連LOG都沒看到
有沒有資安艦隊?
Ray iT邦大神 1 級 ‧ 2024-03-13 09:39:40 檢舉
[b.com.tw xx.xxx.xxx.xx: timed out]

port 25 被某種防火牆功能擋住了, 而且他只限制內網可過, 外網不能過
The recipient server did not accept our requests to connect
這是原因啊,最簡單的方式在外面用TELNET 到 MX 的 SMTP PORT
然後登入之後發測試信,假如可以,表示服務正常,假如不行,甚至不能連線
那就是你們對外的IP設定有問題,請確認之後再測試
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
尼克
iT邦大師 1 級 ‧ 2024-03-12 14:44:12

可外寄而無法收信的關鍵, 通常在
1.DNS的MX紀錄
2.防火牆檔port, 或是防火牆的NAT沒正確接上

jenho iT邦新手 5 級 ‧ 2024-03-12 14:49:11 檢舉

有可能會是CENTOS或POSTFIX沒設定好嗎?
因為公司內部寄信能收到,我不覺得CENTOS或POSTFIX設定有問題

尼克 iT邦大師 1 級 ‧ 2024-03-12 17:24:38 檢舉

你如何驗證你得DNS record是正確?

尼克 iT邦大師 1 級 ‧ 2024-03-12 17:32:43 檢舉
0
BKY
iT邦好手 1 級 ‧ 2024-03-12 14:58:06

檢查一下 b.com.tw xx.xxx.xxx.xx 這個MX 記錄是對的嗎?
如果是對的,那就應該是防火牆開port或NAT的問題
如同上面尼克大說的
外網收不到應該就是DNS或防火牆的問題

0
allenlwh
iT邦高手 1 級 ‧ 2024-03-12 15:27:49

最近要是有郵件問題,請參考一下這個

2024 你一定要知道!Google 和 Yahoo 宣布新的 Email 郵件規則

0
archangelwu
iT邦新手 5 級 ‧ 2024-03-13 08:28:04

基本的檢測要先做:

telnet xxx.xxx.com.tw 25 看看能不能通,不能通就很明顯了:

  1. 先查 DNS 的 MX 記錄指向是否正確?
  2. 查防火牆 IP mapping 或是 port mapping 是否正確?
  3. 檢查 postfix main.cf 裡頭的 mynetworks 與 smtp_recipient_restrictions 是否設定正確?一般來說,postfix 新手這裡最容易出錯誤,要特別檢查!
  4. 最後查一下 iptable 本機防火牆是否允許 25 port?
jenho iT邦新手 5 級 ‧ 2024-03-13 16:54:58 檢舉

公司內部網路telnet xxx.xxx.com.tw 25可通
公司外部網路telnet xxx.xxx.com.tw 25不通
這樣是DNS 的 MX 記錄指向有問題?

0
milim
iT邦新手 5 級 ‧ 2024-03-13 08:49:11

同意尼克和BKY,通常如果外部寄信寄不進來通常就是防火牆沒有設定好。

如果要確認b.com.twMX紀錄,你可以先用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位址。

jenho iT邦新手 5 級 ‧ 2024-03-13 11:30:35 檢舉

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個查詢是否相同?

尼克 iT邦大師 1 級 ‧ 2024-03-13 16:43:28 檢舉

兄弟:
你的網址確認是 b.com.tw 是嗎?
b.com.tw 不會是內部IP

我要發表回答

立即登入回答