Apache-2.2
在後台發送電子郵件的常見機制是什麼?
當使用者註冊我的網站時,從我的伺服器到我們的第 3 方 SMTP 提供商的連接非常糟糕,並且應用程序需要幾秒鐘到幾分鐘的時間才能連接。當它嘗試連接和發送時,使用者被迫在那裡等待,有時他們會放棄並離開網站。
這是可怕的使用者體驗。有什麼好方法可以讓這看起來是即時的(此時必須託管我們自己的郵件伺服器不是一種選擇)?在後台執行此操作的某種方式?也許使用某種類型的排隊機制?
我在 CentOS 5 x64 機器上使用 LNAMP 堆棧。應用程序正在使用 CodeIgniter。
編輯:
似乎使用本地郵件伺服器作為中繼是一種常見的解決方案。但是,如何使用這種方法記錄或跟踪電子郵件是否正確發送?
旁注:一些 ESP 提供了用於電子郵件傳遞的 REST API(我們也提供)。我們目前使用 SMTP 而不是他們的 REST API。
您可以將 Postfix 用作 nullmailer(僅中繼到 ISP)。這只不過是一個四線:
main.cf
myorigin = $mydomain relayhost = $mydomain inet_interfaces = loopback-only local_transport = error:local delivery is disabled
參考:http ://www.postfix.org/STANDARD_CONFIGURATION_README.html#null_client
執行本地 sendmail/qmail/postfix - 無論如何,將 smtp 伺服器設置為 localhost。本地 MTA 將在可能的情況下(立即或在下一次隊列執行時)排隊和傳遞。
在您的系統上:
# yum -y install sendmail # chkconfig sendmail on # service sendmail start
應該足夠了。
我知道關於 CodeIgniter 的 bubke,所以我無法幫助你。