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

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

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

 

posted @ 2016-08-28 10:42  Seaurl  阅读(2302)  评论(0编辑  收藏  举报