最近在學習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
