我的資料庫包含 20,000 多個已驗證電子郵件地址。這些是使用者的電子郵件,有權(使用者在選項中設定)從網站接收電子報、更新等。實際上,我從未將他們的電子郵件地址用於任何目的,但現在我希望用戶定期從網站獲取一些更新(每月或兩個月一次)。我更想知道如何盡快向 2 萬用戶發送相同的電子郵件,以及這樣做可能會面臨哪些限制?
我有一些想法如何使用 Cron 和 PHP 內建 mail() 函數來做到這一點,但我無法一次發送 20K 電子郵件(可以嗎?)。另外,我知道電子郵件很可能最終會出現在收件人的垃圾郵件/垃圾郵件資料夾中(這很好),但不確定是否有一些法律禁止發送大量電子郵件或限制(由託管服務定義) 。
我需要的是回答我如何做到這一點以及完成這項任務的最佳方法是什麼?這不是「給我解決方案」的問題,只是需要一些提示,因為我一生中從未一次發送超過 5 封電子郵件,並且找不到這個問題的答案。想知道 Facebook、Twitter、Youtube 等大型服務如何通知其用戶(可能同時有數百萬用戶)?
注意:抱歉,如果這不是問這個問題的正確地方,我對在哪裡發布它,在這裡還是在 StackOverflow 上進行了重新考慮,但根據我的問題的樣子(我不提供或要求代碼),猜測它將以「沒有建設性」甚至「偏離主題」為由結束。
答案1
一次發送所有電子郵件時,您將面臨一些問題。或一一。
垃圾郵件攔截器
為了發送大量的電子郵件,您需要設定 SPF,可能需要某種憑證簽名,使用具有靜態 IP 的伺服器,最好具有反向 dns。當您開始變得更大時,您必須直接聯繫一些電子郵件郵局管理員,透過提交合法理由和文件將其列入白名單。我們曾經每天向訂閱者發送約 25 萬封電子郵件,有時每月發送 4 次。
我們編寫了自己的程式——但有很多可用的。
您也可以循環每封電子郵件並一封一個地發送.. 然後嘗試對其進行超線程.. 最終分解為多個域,也許您可以通過一些巧妙的編程在大約1 小時內將它們全部發送出去。
祝你好運
答案2
簡短的回答:做靜態IP和反向DNS。您可以,但不要在一小時內發送它們。郵件伺服器不喜歡短時間內收到數千封電子郵件,您將被封鎖。如果所有郵件都來自剛出現在網路中的郵件伺服器,我會說得更多。
長答案:我每週發送 2000 封電子郵件。我使用php中的一個程式來發送它們,它是免費軟體,我不知道我是否可以在這裡命名它,所以我不會。網站是橘色的,使用 php 來管理清單(電子報)。我的伺服器是1 GB ram xeon 2.4GHZ 4 核,採用Debian,它每秒發送4 封郵件(每封大約100K),帶有postfix(所有外發郵件都會檢查病毒),所以每小時應該是14.000 封。如果您向一個網域發送過多電子郵件,其中一些可能具有某種封鎖功能。雅虎有類似灰名單的東西,我記得我不得不在三個月內多次聯繫他們,直到他們停止臨時拒絕。如果我的ISP 在短時間內看到太多連接,就會拒絕郵件,所以在postfix 中我減少了連接,我想從20 減少到10。 debconf 中聽到它(10,11, 12) 來自其中一位開發商。