够意思博客够意思博客够意思博客

EasySwoole在HTTP控制器中实现邮件发送测试

安装SMTP邮件客户端

composer require easyswoole/smtp

HTTP控制住使用

use EasySwoole\Http\AbstractInterface\Controller;
use EasySwoole\Smtp\Mailer;
use EasySwoole\Smtp\MailerConfig;
use EasySwoole\Smtp\Message\Html;
/**
* 发送测试邮件
*
@param email          发送邮箱
*
@param email_password 邮箱客户端授权密码
*
@param to_email       接收邮箱
*
@return JSON
*/
public function sendMessageTest(){
   //
$system = SystemModel::create()->findOne(1); //获取系统配置信息 如网站名称等信息
     $system['system_name'] = "网站名称";
   
$email = $this->param['email'];
   
$email_password = $this->param['email_password'];
   
$to_email = $this->param['to_email'];
   
$config = new MailerConfig();
   
$config->setServer('smtp.qq.com');
   
$config->setPort('25');
   
$config->setSsl(false);
   
$config->setUsername($email);
   
$config->setPassword($email_password);
   
$config->setMailFrom($email);
   
$config->setTimeout(10);//设置客户端连接超时时间
   
$config->setMaxPackage(1024*1024*5);//设置包发送的大小:5M

   
$mimeBean = new Html(); //设置文本或者html格式
   
$mimeBean->setSubject("【{$system['system_name']}】测试发送邮件");
   
$mimeBean->setBody("【{$system['system_name']}】测试发送邮件");
   
$mailer = new Mailer($config);
   
$res = $mailer->sendTo($to_email, $mimeBean);
   
if($res){
       
$this->AjaxJson(1,$res,'测试发送成功');return false;
   
}else{
       
$this->AjaxJson(0,$res,'测试发送失败');return false;
   
}
}


public function onRequest(?string $action): ?bool
  {
     
$this->param = $this->request()->getRequestParam(); //接收请求参数
     
return true;
 
}




以下是官方文档

Smtp

电子邮件是—种用电子手段提供信息交换的通信方式,是互联网应用最广的服务。电子邮件几乎是每个web应用程序不可或缺的,无论是时事通讯还是订单确认。本库采用swoole协程客户端实现了电子邮件的发送。

安装

composer require easyswoole/smtp

使用

use EasySwoole\Smtp\Mailer;
use EasySwoole\Smtp\MailerConfig;
use EasySwoole\Smtp\Message\Html;
use EasySwoole\Smtp\Message\Attach;
// 必须用go
go(function (){
   $config = new MailerConfig();
   $config->setServer('smtp.163.com');
   $config->setSsl(false);
   $config->setUsername('huizhang');
   $config->setPassword('*******');
   $config->setMailFrom('xx@163.com');
   $config->setTimeout(10);//设置客户端连接超时时间
   $config->setMaxPackage(1024*1024*5);//设置包发送的大小:5M

   //设置文本或者html格式
   $mimeBean = new Html();
   $mimeBean->setSubject('Hello Word!');
   $mimeBean->setBody('<h1>Hello Word</h1>');    //添加附件
   $mimeBean->addAttachment(Attach::create('./test.txt'));

   $mailer = new Mailer($config);
   $mailer->sendTo('xx@qq.com', $mimeBean);
});



本文为够意思原创文章,转载无需和我联系,但请注明来自够意思博客blog.go1s.cn:够意思博客 » EasySwoole在HTTP控制器中实现邮件发送测试

加载中~