作者dlikeayu (太阳拳vs野球拳)
看板PHP
标题Re: [请益] php mailer 非同步
时间Tue Oct 27 16:09:29 2015
※ 引述《onininon (万)》之铭言:
: 大家好:
: 目前在做会员注册页面
: 其中有用到php mailer 来寄出认证信
: 使用gmail smtp
: 但每次需要等3~5秒才会显示注册完成
: 参考其他网站,好像都立即完成,但是认证信会晚点到
: 是使用httprequest吗?
: 还是php mailer可以设定成 send不需要等回应 继续执行php?
: 谢谢
牵扯很多use case问题
如果是注册,等排程再送信,那最少也要每一分钟的排程才能做到即时性
(但排程的pattern也很多种,处理中sleep5分钟等问题,单件复件等...)
所以以UX设定来说,有些网站会做成注册完即可登入,但非验证状态
方便你没收到确认信,可以再补寄,或换email
而後端做法可以利用curl 去呼叫一个内部用action (allow 127.0.0.1, private ip,
deny all)
该action为处理mail发送因而达成异步效果
也可以背景处理是否发送完成状态
(前端UI只要来捞发送成功没即可)
或着也可以试着安装有支持异步smtp的软体来达成
(但还是前者比较确实)
看愿意付出多少时间来处理这些细节了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.136.49.61
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1445933373.A.F37.html
1F:推 locklose: 发问於2011,过了4年了呢 10/29 11:30
2F:→ dlikeayu: 查问题时看到顺便解题咯 10/30 04:18
3F:推 locklose: 其实还有一个比较常用且应付大量的作法,直接排MQ (笑) 10/30 12:29
4F:→ locklose: 我之前做电子报送信跟回条回覆就塞到MQ里让worker慢慢跑 10/30 12:30