為中繼配置 Exim Sendmail
我在 UltraHosting.com 有一個 VPS 伺服器,並且要求我在發送電子郵件時使用“智能中繼”。但是我無法使用 php mail() 函式發送郵件。
這是他們在 Smart Relay 上的一篇文章:support.ultrahosting.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=142
那裡顯示的設置在我的 Exim 配置中。
我還嘗試按照此處的建議配置我的發送郵件http://support.ultrahosting.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=175&nav=0
但是我在我的 centOS 伺服器上找不到我的 sendmail.cg。命令“whereis sendmail.cf”表示sendmail:/usr/sbin/sendmail /usr/lib/sendmail
伺服器正在使用 cpanel 和 exim
我發送了以下支持票:
如何配置伺服器以使用 php.ini 發送郵件。我正在編寫一個腳本,它將向使用者發送密碼 usigng PHPs 郵件功能。但是,發送的電子郵件永遠不會送達。這與“智能繼電器”有關嗎?關於如何配置的任何指南?
回應是:
While we do not provide scripting support of any kind, if you simply
確保智能主機在您的腳本中進行了硬編碼(無需身份驗證),應相應地轉發電子郵件。
If your script uses the server's SMTP server to send out email, you'll
必須確保 MTA 配置為使用智能主機
.
誰能澄清我需要做什麼才能解決這個問題,以便我可以使用 PHP 郵件功能?
在您的 exim 配置的路由器部分中,您將擁有一個看起來像這樣的路由器:
lookuphost: driver = lookuphost transport = remote_smtp
這就是告訴 exim 直接發送郵件的原因。您需要告訴它改用智能主機。
用這樣的東西替換上面的路由器:
smarthost: driver = manualroute domains= ! +local_domains transport = remote_smtp route_list = * smtp.ultrahosting.com byname host_find_failed = defer no_more
確保新路由器中的傳輸名稱與原始路由器中的相同(本範例中為 remote_smtp)。
此外,您需要在進行這些更改後重新啟動 exim。