最近在学习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);
}
}
这样就完成了开发工作。
总结:1、之前直接把aliyun的SDK代码下载到项目文件夹下,报了错,之后才明白有人封装了composer包,直接加载就完成了,有点类似java的包管理器maven
2、有时间试着自己写个composer包
参考:1、https://github.com/rainwsy/aliyundm
2、https://github.com/HyanCat/aliyun-direct-mail,
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