最近在学习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