Ubuntu-10.04

連接被拒絕。為什麼我不能從一台伺服器發送電子郵件,但我可以從另一台伺服器發送電子郵件?

  • May 6, 2019

我正在嘗試使用 PHP 從 PHP 發送電子郵件mail()。我可以完全訪問兩台伺服器。兩者都沒有異常iptables規則(沒有阻止預設安裝sendmail

幾年前我安裝sendmail在一台伺服器上(Ubuntu 10.10),它從 PHP 發送郵件就好了。新伺服器(本周安裝的 Ubuntu 10.04)不會發送郵件 - 或者它正在嘗試,但每個收件人都拒絕接收.

我檢查了sendmail新伺服器上的日誌,它顯示接收域的所有 MX 伺服器是Connection refused

這些伺服器的設置沒有區別。他們有預設sendmail安裝。一個標準的LAMP 堆棧。它們完全在不同的 IP 上,但它們在同一個域下執行(儘管很明顯,域上的不同機器)。

我唯一能想到的是,接收方 MX 伺服器上的垃圾郵件過濾器不接受為新伺服器設置的反向 DNS。那可能嗎?我已經請求將反向 DNS 更改為更適合新伺服器域的內容。

舊伺服器位於NAT路由器後面,因此從舊伺服器發送電子郵件時似乎來自的 IP 地址解析為“正確”代表伺服器的域名……但新伺服器的 IP 直接附加到伺服器,但目前的rDNS解析為完全不同的域。

還有什麼我可能會失去的嗎?


更新

範例/var/log/mail.log行:

Jan 11 12:16:03 ernesto sm-mta[1177]: q071CKnQ002371:
to=<xxx@xxx.xxx>, ctladdr=<www-data@my.server.com> (33/33), delay=4+11:03:43,
xdelay=00:00:00, mailer=esmtp, pri=58080351, relay=aspmx3.googlemail.com.,
dsn=4.0.0, stat=Deferred: Connection refused by aspmx3.googlemail.com.

解決了!事實證明,託管服務提供商設置了一些試用帳戶來阻止濫用。顯然,一旦新客戶通過身份驗證(我已經完成),這些通常會被取消,但他們沒有。謝天謝地,他們現在已經可以了,我可以完美地發送電子郵件。

所以這裡的教訓:不要假設任何事情!首先回到您的提供者那裡,與他們核實是否有任何事情阻礙您的工作。

很抱歉給各位好心人添麻煩了。感謝您的所有建議。他們都幫助最終找到了答案:)

引用自:https://serverfault.com/questions/347874