Apache-2.2

在後台發送電子郵件的常見機制是什麼?

  • October 8, 2011

當使用者註冊我的網站時,從我的伺服器到我們的第 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,所以我無法幫助你。

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