作者MrMarcus (请勿忘记密码)
看板PHP
标题Re: [请益] 请问如何寄大量email给系统的会员?
时间Tue Feb 13 13:16:40 2007
※ 引述《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