Laravel 下结合阿里云邮件推送服务

时间:2021-10-27 07:02:49

最近在学习laravel做项目开发,遇到注册用户推送邮件的问题,之前用java做的时候是自己代码写的,也就是用ECS推送邮件,但是现在转php的laravel了就打算用php的邮件发送功能来推送邮件,但是开发的过程中发现其实阿里云在2015年11月推出了邮件推送服务,所以打算使用阿里云的邮件推送服务,之前也使用过阿里云的OSS感觉也还不错不过是java的SDK,这个搞完了,后面也要实现OSS的上传文件服务功能,这个暂且放下吧。

在实际项目开发过程中我发现遇到好多问题,比如,aliyun邮件推送服务好像没有封装laravel的Composer包,但是网上已经有大福封装好了,你直接使用就OK了,当然我就是这么做的。

到你的项目文件夹下执行命令:

composer require rainwsy/aliyundm dev-stable

然后,在laravel中实现发送邮件:

use Rainwsy\Aliyunmail\Send\Single;
use Rainwsy\Aliyunmail\Auth;

class MailRepository
{
public function sendMail()
{
$AccessKeyId = env('AccessKeyId');
$AccessSecret = env('AccessSecret');
$auth = Auth::config($AccessKeyId, $AccessSecret);
$mail = new Single();
$mail->setAccountName('system@notice.awbeci.xyz');
$mail->setFromAlias('awbeci');
$mail->setReplyToAddress('true');
$mail->setAddressType('1');
$mail->setToAddress('zhangwei900808@126.com');

$mail->setSubject('注册成功');
$mail->setHtmlBody('欢迎您注册awbeci,请点击以下链接验证您的邮箱:www.awbeci.com');

$send = $mail->send();
//print_r($send);
}
}

这样就完成了开发工作。

Laravel 下结合阿里云邮件推送服务

总结:1、之前直接把aliyun的SDK代码下载到项目文件夹下,报了错,之后才明白有人封装了composer包,直接加载就完成了,有点类似java的包管理器maven

2、有时间试着自己写个composer包

参考:1、https://github.com/rainwsy/aliyundm

2、https://github.com/HyanCat/aliyun-direct-mail

3、https://packagist.org/packages/hyancat/aliyun-direct-mail?q=&orderBys%5B0%5D%5Bsort%5D=favers&orderBys%5B0%5D%5Border%5D=asc

4、http://blog.jayxhj.com/2016/05/basic-composer-package-development/

5、阿里云邮件推送SDK:https://help.aliyun.com/document_detail/29460.html?spm=5176.doc29444.6.151.CbrfQf

6、https://segmentfault.com/q/1010000006737106