我正在PHP中開發我的第一個項目,並且是新的。昨天我需要創建一個功能,向所有網站成員發送新帖子的電子郵件通知。我創建了一個功能,我不知道它有多好。如何使用PHP發送批量電子郵件?
創建一個帖子後,我選擇了所有的網站成員在SQL -
包括 「db.php中」;
$query = "SELECT * FROM user";
$runQuery = mysqli_query($db, $query);
這給了我所有的網站會員。然後,我通過數組循環,抓住了這樣每個成員的電子郵件ID -
while($users = mysqli_fetch_assoc($runQuery) {
$email = $users['email'];
}
這樣,我有每個成員的電子郵件ID。現在在循環中,我可以使用mail()函數向每個站點成員發送電子郵件。
爲了更好的編寫代碼,我編寫了在另一個文檔中發送電子郵件代碼並使用'include()'函數將其鏈接起來。這樣的 -
while($users = mysqli_fetch_assoc($runQuery) {
$email = $users['email'];
include "send_email.php";
}
在哪裏發送電子郵件文件$標題,$ EMAIL_SUBJECT,$ EMAIL_BODY並且從這個循環來的$電子郵件。因此,每次循環運行時,都會有新的電子郵件ID,並且郵件將發送到該電子郵件ID。
這段代碼在我的本地主機上工作,甚至在生產(hostgator託管),直到有幾個網站成員。但是,當我在我的現場網站(擁有超過70個成員)上測試它時,頁面停頓至少10秒鐘,並返回錯誤「頁面無法正常工作」。
那麼這裏究竟發生了什麼?爲什麼不能發送電子郵件給更多的用戶?
是在實時服務器上的PHP郵件設置?而沒有看到服務器日誌非常難以調試。儘管如此,包括這樣的文件當然不是「更好的代碼編寫」。更好的辦法是構建一個郵件類並使用它。 – DevDonkey
是的PHP郵件設置。我告訴過你它已經成功地向一些會員發送了電子郵件,但是當我通過70多個用戶打電話時,它失敗了。 – Sandy