作者Joe8 (Beautiful Stranger)
看板PHP
標題[請益] 如果要大量寄送郵件
時間Sat Mar 14 20:05:21 2009
最近在幫學校的處室寫郵件訊息發送的功能
正在規劃"若還沒全部同學都發送完之前 系統就當了" 該如何處理
我想到的方法是:
1.在資料庫中建個表格用來 "存放發送結果"
當我在php程式中執行 for loop 來跑 mail() 時
每跑一次就更新一次資料表內的學生編號 用來記錄現在正送到哪個學生
如果當機了 下次重新啟動程式頁面的時候 再去自動抓取上次送到哪了 繼續發送
>>可是我在想這樣會不會很沒效率 每次都要做一次資料庫更新的動作
不過沒辦法 要做到即時記錄好像只能這樣?
2.同上面的方式 不過把資料表改成純文字檔 也就是每次跑 for loop執行 mail()時
開檔 寫檔 關檔 來記錄現在正發送到哪個學生了.
>>這樣就不用每次都連資料庫 , 不過就要做千百次開檔寫檔的動作...
3.同1or2的方式 不過改成跑100筆或是50筆才進行一次記錄的動作
不過風險就是如果掛了 下次重送的時候 就會重複寄送99 or 49筆之前寄過的人..
請問各位還有其他方式嗎 謝謝 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.184.121
推 buganini :自己架SMTP 設好alias 他就會自己處理queue了 03/14 20:22
→ buganini :我之前做的全校學生照年級系組分別設alias 03/14 20:23
→ buganini :想寄某年級某系都可以 03/14 20:24