Code前端首页关于Code前端联系我们

thinkphp5+swoole实现异步邮件处理(SMTP方式)教程

terry 2年前 (2023-09-25) 阅读数 50 #后端开发

1.首先,安装 swoole 扩展。详细流程可以在官方网站上查看。安装完swoole后,建议将swoole代码添加到你的IDE中! ? $serv = new \swoole_server('',8082);

$serv->set(array('task_worker_num' => 4));

$serv->on('接收', function($server , $fd, $from_id, $data) {
$task_id = $serv->task($data);
echo "开始交付异步任务 id=$task_id\n ";
});

$serv->on('task', function ($serv, $task_id, $from_id, $data) {
echo "获取异步任务 [id=$task_id]".PHP_EOL;
for of ($i = 0 ; $ifinish('');
});

$serv->on('finish', function ($serv, $task_id, $data) {
echo "异步任务 [id=$task_id] 完成" .PHP_EOL;
});

$serv->start();
}在服务器端,我们使用了20的字符串来模拟群发,并将其更改为另一个电子邮件地址。 ? , SWOOLE_SOCK_SYNC);
$ret = $client->connect("", 8082);
if(empty($ret)){
echo '错误!连接到 swoole_server 失败' ;
} else {
$client->send('blue');//这只是发送内容的简单实现
}
}3.打开服务器
这是必需的 使用 CLI,我们访问项目的根目录。
运行 netstat -apn | grep 8082 首先检查8082端口是否存在,如果存在则kill -9 PID(进程号)kill进程

然后执行php public/index /index/syncSend cli 将端口 8082 置于监听状态。并保持此终端处于活动状态,以便我们可以检查发布的响应。

然后我们可以使用 CLI 或浏览器访问来访问我们的客户端php public/index/index/index一旦我们在客户端上执行一次,我们就可以访问终端服务器当您看到以下屏幕出现时屏幕:
thinkphp5+swoole实现异步邮件群发功能(SMTP方式)教程

,说明我们发对了。
接下来我们测试异步,因为服务器163会找到IP。如果同时传输不频繁,就会导致传输失败。所以,我们测试的时候,客户端会连续运行4次。 End方法
执行结果如下:
thinkphp5+swoole实现异步邮件群发功能(SMTP方式)教程
thinkphp5+swoole实现异步邮件群发功能(SMTP方式)教程

从图中的发送顺序,我们很容易判断已经实现了异步发送。
发送的邮件也已在邮箱中收到。

thinkphp5+swoole实现异步邮件群发功能(SMTP方式)教程

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门