我有一個系統發送大量的電子郵件報告(每天約有超過500封電子郵件)。我不是一個垃圾郵件發送者:)這不是一大堆的電子郵件,但他們發送循環,我經常得到這個錯誤「PHP警告:郵件():無法執行郵件傳遞程序」。我知道有這個問題的PEAR :: Mail_Queue包。但是,如果這個軟件包是真正有用的東西,或者我需要尋找其他東西,請讓我知道。非常感謝在循環中發送大量電子郵件
0
A
回答
0
你必須在郵件之間使用sleep(),這可以解決這個問題。
0
另一種方法也可以是直接通過SMTP服務器發送郵件。這節省了您通過「通過shell」調用sendmail(或使用任何MTA)來傳遞郵件的往返行程。例如,Zeta Mail component允許您直接通過SMTP服務器發送郵件,而不需要特殊擴展。
1
「PHP的警告:電子郵件():無法執行郵件傳遞計劃」
...含義正是它在錫說。 PHP只會將電子郵件轉移到Linux/Unix/POSIX系統上的外部程序(由php.ini中的sendmail_path定義)。並且在某些情況下返回錯誤。這不是PHP代碼中的錯誤。
除非你有一個非常糟糕的MTA配置,否則問題將不會通過使用SMTP連接來解決。
您需要查看MTA中的日誌,瞭解其無法發送郵件的原因 - 或者將郵件可執行文件封裝在日誌腳本中。
2
您可以使用PEAR's Mail_Queue package直接通過SMTP服務器發送郵件 - 也可以在後臺運行,因此不會延遲或增加腳本執行時間。
使用Mail_Queue包的另一個優點是,您可以檢索爲記錄目的而發送的每封郵件的esmtp ID - 我不知道這是否可以使用Zeta Mail組件或任何其他郵件組件。
我已經開發了一些面向公衆的和僅限於局域網的解決方案,它使用這個組件並且沒有任何重大問題。
相關問題
- 1. 在asp.net發送大量電子郵件
- 2. 批量發送大量電子郵件
- 3. 大量發送電子郵件
- 4. Python - 發送大量電子郵件
- 5. 在while循環中發送電子郵件
- 6. 如何在codeignitor電子郵件中使用foreach循環發送
- 7. 在循環中發送電子郵件時設置的時間量
- 8. 在ASP.NET中發送大量電子郵件
- 9. 發送循環輸出到Python中的電子郵件
- 10. PHP發送電子郵件多次發送電子郵件
- 11. 大容量電子郵件發送的罐子
- 12. PHP:批量發送大量電子郵件
- 13. 正在發送大量電子郵件 - 通訊
- 14. 發送PHP腳本中的大量電子郵件
- 15. 通過用戶循環發送電子郵件
- 16. 如何使用循環從R內發送電子郵件
- 17. ASP經典,循環查詢和發送電子郵件
- 18. 兩個foreach循環合併發送電子郵件
- 19. Foreach爲每個循環發送電子郵件
- 20. VBA代碼循環發送多封電子郵件
- 21. 發送批量電子郵件
- 22. 批量發送電子郵件與SwiftMailer
- 23. 以C#發送批量電子郵件#
- 24. 發送懇求海量電子郵件
- 25. C#發送批量電子郵件
- 26. 批量電子郵件發送回覆
- 27. 以PHP發送批量電子郵件
- 28. 用ASP.Net發送海量電子郵件
- 29. Django:在開發環境中發送SMTP電子郵件
- 30. 使用javax.mail發送大量電子郵件,某些電子郵件的發送失敗
感謝您的回答。但是,我擔心,這會增加腳本執行時間,不是嗎? – alagar 2011-02-28 13:27:48
Heya隊友,它會爲你的執行增加一點時間,但它不會計入最大執行時間。因此,一天一次500封郵件,甚至5000封郵件都無關緊要。 – 2011-03-03 09:58:00