自從之前轉換到 Google Apps 後, localhost 的信就寄不出去,昨天花點時間解決掉,解法很簡單,果然是自己耍豬頭 XD
剛開始查就是看 Mail Log, 和被退的信, 發現被退的信大概寫如下:
The IP you're using to send email is not authorized
550-5.7.1 to send email directly to our servers.
Please use 550 5.7.1 the SMTP relay at your service provider instead.
然後不假思索的就拿這些 keyword 去找, 然後找到的意思是, 查看看自己的 IP 是不是進了 Spam List, 然後算算看進 spam list 有沒有很多... (原來有這麼多家在做 spam list),再來去請他們解開 spam 清單, 查 spam list 可由下兩個網站查(基本上查到的地方都一樣):
然後試一試, 還是沒有什麼用處, 一樣寄不出去, 後來想想, 查查是不是被自己給擋掉了, 於是把 spam filter都先拿掉, 還是不行~
再直接 telnet localhost 25 port, 來寄信試試:
helo USERNAME
mail from:USERNAME@DOMAIN_NAME
rcpt to:[email protected];
data
subject:test
test
.
quit
結果 localhost 寄信出去很正常, 於是就知道自己錯在哪邊了. XD
解法:
- vim /etc/postfix/main.cf
- 將 mydestination = DOMAIN_NAME, localhost 改成 mydestination = localhost, DOMAIN_NAME 即可.
DOMAIN_NAME 請換成你自己的 DOMAIN_NAME, 或者直接拿掉即可, 主要是透過 localhost 發信, 所以 localhost 要擺前面.
主要是因為 Google Apps 設定轉換時, 已經把 DOMAIN_NAME的 MX 指到 gmail去了,而那行設定信就往 gmail smtp跑, 沒開放 open relay,當然就寄不出去囉~ XD