2010-02-23 62 views
0

用於發送許多郵件的腳本,類或函數(不包括內置的「郵件」功能並且不包括PEAR郵件)(許多問題和PHP 5.3中的兼容性問題)。使用PHP發送批量郵件而不使用PEAR郵件和'郵件'功能的更好方法

我想發送每個'shot'約5000封電子郵件,但'mail'功能連接並斷開每封電子郵件。梨郵件有很多問題。

我試過Swiftmailer,但HTML顯示在許多客戶端重複(因爲顯然它是連接)。

PHPMailer是答案嗎?

PS:對不起。我是巴西人。

回答

2

在實現我們自己的系統之前,我們使用了帶有isSMTP()選項的PHPMailer,並且每秒處理大約20個郵件(構建時間+發送)。如果你有靜態內容,你的吞吐量應該更高一些。

有一個選項可以使用持久的SMTP連接。

+0

什麼是持久性SMTP連接。 – 2010-12-20 16:02:28

+1

@Jayapal Chandran:通常一個SMTP會話是在一個消息被髮送後開始和結束的。使用持續連接,會話保持不變,因此您不必通過打開和關閉套接字/ SMTP握手等。 – jasonbar 2010-12-20 17:32:57

1

PHPMailer會做你想做的,但如果你使用它作爲頁面加載,請注意你的頁面執行時間限制。如果你過去了,你希望能夠從你離開的地方接過去。這假定每個用戶都在爲每個郵件定製。

基於這種經驗,我停止使用Web瀏覽器加載這樣的PHP腳本,而是現在在命令行上執行它們。

+0

如果我發送靜態電子郵件,有什麼區別?我的cron必須運行一個db查詢,然後它可以組合一條適用於所有收件人的郵件。這是否會改變執行中的任何內容? – DrANoel 2010-08-11 19:49:20

+0

@John:在這種情況下,沒有可能取消連接的瀏覽器(因爲加載頁面需要很長時間)。 – 2010-08-11 19:53:16

+0

John,你提到了cron,你是否將php作爲可執行文件調用(在這種情況下,頁面加載限制將不適用),或者你是通過wget調用一個頁面(或者其他)。我不確定我瞭解你的問題 – artlung 2010-08-12 00:32:31