汽車

2010-10-11 217 views
0

日前在PHP中發送大量電子郵件,我接到了一個客戶的訂單,他讓我寫劇本的時候,他提出這些汽車

他問的是發送電子郵件給所有用戶

拳頭東西,可以通過電子郵件發送網站文章以某種方式,他沒有任何問題,因爲他有很多的用戶他的服務器因爲他有很多的用戶

現在好了爲了使這個腳本我應該計劃編寫一個電子郵件腳本,可以發送文章給所有用戶後提交作者的新聞。

  • 這個腳本應該quee電子郵件不使服務器關閉

  • ,它應該在的背景和作品autumatically

這個腳本的

很好的例子可以。中文組郵件部分

我用Google搜索來找到一些有用的這個腳本,任何PHP類,它可以幫助

你的建議是什麼,如果這個命令找到你,你會怎麼寫?

回答

1

使用cron。

您可以每5或10分鐘運行一次cron作業,一次只發送一小部分電子郵件。這種方式在後臺運行,不會砰地一聲SMTP服務器。

cron腳本應該使用經過良好測試的類,例如PHP MailerSwiftMailer。創建一個交叉引用表,用於跟蹤哪些地址通過電子郵件發送到哪些文章。

0

多少封電子郵件,您將需要發送?

我建議你自己的節流每個域。我首先按域對所有電子郵件地址進行排序,然後創建一個機制以在發送時從每個域中進行選擇。保持一個計時器並且不要超過這個計數是很重要的。根據我的經驗,如果您能以這種方式在合理的時間內完成工作,我不會推薦每小時每個大型域名(雅虎,谷歌...)超過500個。當我爲產品註冊公司工作時,如果我們通過大型活動每小時發送很多電子郵件,較大的域名會關閉我們。

另一個相關問題是你需要什麼級別的可靠性?你只是設置了一個腳本來發送這些郵件,你不會在意發生了什麼,或者你真的會喜歡一個解釋錯誤信息的郵件服務器(並根據這個做出相應的後續行動)?

作爲一般的音符,一定要確保有某種方式來選擇退出這些電子郵件。除非你這樣做,否則你可能是非法的,你會看起來很像垃圾郵件。還有一些可以使用的垃圾郵件檢查腳本(不幸的是,我不記得名字)。

我工作的系統上進行可視化我們的郵件服務器的運行狀況,每點擊15個分鐘爲增量。這涉及解析我們的郵件服務器日誌。這種可視化幫助我們的團隊決定何時需要調用雅虎並向他們解釋我們不是垃圾郵件發送者。如果您想更詳細地談論這些概念,請給我發一條消息(Google我的名字)。

祝你好運!

-Brian J. Stinar-

0

這個腳本應該quee電子郵件不 使服務器停機

  • 首先安裝例如像Redis的消息隊列(已攔截彈出),beanstalkd,gearmand。使用消息隊列時,您可以限制速率。

  • 接下來將消息添加到客戶端的隊列中。

使用Redis的例如

lpush email $youremail 

,它應該在的背景和作品 autumatically

  • 有一個守護進程過程中,這些消息和發送電子郵件中批量與012一樣。

    1. 例如

      blpop email

    2. 開始php email.php作爲守護程序創建一個名爲email.php一個php cli文件,例如

    3. 內部文件使用Redis的。