Re: [請益] 請問如何寄大量email給系統的會員?

看板PHP作者 (請勿忘記密碼)時間19年前 (2007/02/13 13:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《dickstar (餛餛的幸福)》之銘言: : 我個人是用phpmailer 1.73寄信,寄給十幾個會員還不會lag, : 但是一旦要寄給上百甚至上千時,我的瀏覽器就會一直轉地球,要跑很久, : 我發現問題是出在某些收件者的email可能是壞的, : 目前我已針對email格式和email server進行偵錯, : 但是還是無法避免像是已經被某些email server停用的帳號, : 不知道大家都是怎麼解決類似這種問題的,懇請大大提供建議!! 寄送大量信件最好不要自己透過程式直接把信送到對方的email server去。 很多email server會暫時擋信,一開始拒收你的信件並且告訴你過個三十 分鐘再來,三分鐘後你又把信送過去還是會被拒收,三十分鐘過了再送信 過去就會被接受了(Yahoo信箱就是一個例子)。 自己寫程式要處理這種問題得花很多工夫,你得偵測對方email server 回給你什麼訊息,如果是暫時擋信還得把這封信放到暫存區等待一段時間 過後再嘗試寄送一次。 建議的方式是把信件丟給近端的smtp server,這段過程很快,就算丟個 上萬封也只要一兩分鐘(看信件複雜度和機器效能而定)。接下來就讓該 email server去煩惱把信件送到對方信箱的工作(像是暫時擋信這種問題 email server本來就會去處理。如果是對方信箱滿了,smtp server也會 隔個一段時間再次嘗試把信送過去,也許對方清出了空間,信就被收下了)。 不過用這種方式,你的程式無法即時得知信件有沒有成功送到對方信箱。 對你的程式來說信件全都是寄送成功(因為你的local端email server 會無條件收下你丟過去的信)。如果你要偵測退信,得寫程式事後去收 退回來的信件並且分析裡面註明的原因。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.154.199.81
文章代碼(AID): #15qKcv4l (PHP)
文章代碼(AID): #15qKcv4l (PHP)