位置: 编程技术 - 正文

详解thinkphp5+swoole实现异步邮件群发(SMTP方式)(详解金球奖之争)

编辑:rootadmin

推荐整理分享详解thinkphp5+swoole实现异步邮件群发(SMTP方式)(详解金球奖之争),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:详解金球奖之争,详解杭州亚运会会徽和口号,详解九章算法,详解金球奖之争,详解增发万亿国债细节,详解万亿增发国债:全部给地方,详解增发万亿国债细节,详解万亿增发国债:全部给地方,内容如对您有帮助,希望把文章链接给更多的朋友!

本文介绍了thinkphp5+swoole实现异步邮件群发(SMTP方式),分享给大家,具体如下:

1、环境说明

阿里云centos7 thinkphp5.0. swoole2.0.8

2、tp实现邮件发送

在项目下建立如下的文件目录:

其中SendMail.php是我们实际调用的发送邮件的文件。以下是主要代码:

里面的config配置项,我们放在项目底下的config.php文件中,具体配置内容如下:

2.1这里我们只是实现了smtp协议发送的demo,所以在封装的层面上没有做到很全面,不是很灵活。图中其他两个文件(PhpMailer.php和Smtp.php)是Phpmailer邮件发送类的核心文件,为了简化调用,抽取了出来,详细的用法和参数设置,可以参考gayhub的使用说明phpmailer

2.2 注意点

在此步骤中,我们需要注意几点:1是你设置的邮件发送的账号是否已经开启SMTP并且找对对应的安全协议和端口号。2、当前服务器是否支持SMTP服务,这边很多时候会受一些socket函数的影响,遇到问题的时候,我们应该把SMTPDebug参数设置为1,然后根据debug信息去细心调试。3、发出的邮件有些会被放入垃圾箱,注意查收。

2.3 调用

建立如下的文件目录结构:

在Index.php中调用发送邮件的方法,具体代码如下

2.4 调用结果

我们可以在QQ邮箱的垃圾箱中找到我们刚刚发送的一封邮件

3、结合swoole实现异步群发3.1安装swoole

swoole扩展安装的详细步骤官网上面都有,不再赘述,swoole文档传送门

安装完swoole之后,建议为自己的IDE加上swoole的代码提示,配置IDE提示swoole代码的传送门

3.2实现异步群发

详解thinkphp5+swoole实现异步邮件群发(SMTP方式)(详解金球奖之争)

我们先实现异步的服务端:

在服务端,我们用了一个的loop来模拟了群发,实际换成不同的email地址就可。

下面我们实现客户端

3.3开启服务端

这里必须要用CLI方式,我们进入项目的根目录。

执行

先监测一下端口是否被占用,如果占用则

杀死进程

然后我们执行

这条命令的作用是用cli模式来使我们的端口处于监听状态。且保持这个终端处于活跃状态,这样方便我们查看发送的结果。

接着我们可以用CLI或者浏览器访问的方式来访问我们的客户端

当我们执行一次的时候客户端的时候,我们可以在服务端的终端看到屏幕上面出现如下的画面:

说明我们已经正常群发了。

下面,我们就来测试异步,因为服务器会对IP进行检测,如果在某个时间发送也别频繁的话,会出现发送失败的情况,所以我们测试的时候,采用连续执行4次客户端的方式

下面是执行的结果:

从图中发送的顺序来看,我们可以很容易的判断,我们已经实现了异步的发送。

邮箱里面也接收到了刚刚发送的邮件。

4、后记~

swoole是一种想要熟悉和熟练使用的扩展,但是限于网络编程知识的不足,所以还是要多多测试和学习,demo中有不足的地方,还请指出QAQ

标签: 详解金球奖之争

本文链接地址:https://www.jiuchutong.com/biancheng/288275.html 转载请保留说明!

上一篇:详解PHP字符串替换str_replace()函数四种用法(详解php字符串替换)

下一篇:PHP多进程之pcntl_fork的实例详解(php进程太多)

  • 税收国家和地方的比例
  • 盈余公积补亏为什么未分配利润增加
  • 资产负债表两边不平衡的原因
  • 资产处置收益计入利润总额吗
  • 经营利润和营业利润的区别
  • 房屋租赁收入还需要缴纳附加税吗
  • 注销了出口退税怎么办
  • 企业收到个体户开的发票
  • 有留抵税额要考虑税负吗
  • 月初发票认证能抵扣吗
  • 进项税额不可抵扣
  • 固定资产安装完毕达到预定可使用状态
  • 企业转让专利技术需要交什么税
  • 个人股东无偿借款给企业
  • 业务招待费的进项可以抵扣吗
  • 会务费税率是多少 2021
  • 滞纳金账务处理
  • 公司店铺刷单的收入怎么记账
  • 发票认证后失控
  • 有未分配利润就有盈余返还吗?
  • 职工教育经费取得证件之后补助多少钱
  • 受托代理资产核算
  • 残保金减免如何做账
  • 怎么防止电脑被别人远程控制
  • macos catalina安装很慢
  • 溢价购入债权投资是为啥
  • mac上安装
  • win11如何调整鼠标中键
  • 银行的贷款怎么发放
  • 最大的数码相机是多少寸
  • 外币交易犯法吗
  • 化妆品与药品
  • 角马群的迁徙方向
  • 准予在企业所得税税前扣除的有
  • linux查看ssh服务开启
  • 2023前端面试题百度云
  • 一个楼盘可以开盘几次
  • 饭店的手撕发票可以报销吗
  • 工程项目科学技术方法工具过程之间的关系
  • 给客户开的发票,在邮寄过程中丢了怎么办?
  • unity怎么打包unitypackage
  • 前端工程化解决方案
  • 李宏毅课程
  • 免税票如何做会计分录
  • 劳务报酬什么情况下可以退税
  • 应该是下个月
  • sql无法运行
  • 专项资金支出明细表范文
  • 普通发票的税费计入应交税费吗
  • 收到货款未开票怎么入账
  • 公司买车抵税最新政策2022购置税减半享受不?
  • 如何调整去年的账
  • 相同的商品附带不同的赠品发布
  • 电子承兑被拒付(可拒付追索)
  • 收付实现制与权责发生制的例题
  • 毛利润包括什么
  • 一家企业至少要运转几个月以上
  • 让windows server 2003 32位支持8G内存大内存
  • 服务器找不到存储盘
  • 看linux系统
  • windows10电脑重置电脑
  • linux find命令详解xargs
  • css命名大全
  • innertext赋值
  • node.js ssh
  • javascript简明教程
  • jquery回车触发事件
  • node.js app
  • android的图片文件保存在工程的哪个文件夹
  • js数组的push方法
  • python编程输出汉字
  • 山东省国家税务局总局官网
  • 东莞税务申报日期
  • 广州税务举报电话
  • 纳税申报指什么意思
  • 网约车考试全国过了区域没过
  • 江苏国税电子网
  • 台湾大学会计硕士
  • 养猪环保局有什么新政策
  • 为什么每个月总有几天
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设