Laravel 5.1 的 SendCloud 驱动
普通发送方式完全兼容官方用法,可随时修改配置文件改为其他驱动,而不需要改动业务代码
在项目目录下执行
composer require naux/sendcloud
修改 config/app.php,添加服务提供者
config/app.php
'providers' => [ // 添加这行 Naux\Mail\SendCloudServiceProvider::class,];
在 .env 中配置你的密钥, 并修改邮件驱动为 sendcloud
.env
sendcloud
MAIL_DRIVER=sendcloud SEND_CLOUD_USER= # 创建的 api_user SEND_CLOUD_KEY= # 分配的 api_key
用法完全和系统自带的一样, 具体请参照官方文档: http://laravel.com/docs/5.1/mail
Mail::send('emails.welcome', $data, function ($message) { $message->from('[email protected]', 'Laravel'); $message->to('[email protected]')->cc('[email protected]'); });
用法和普通发送类似,不过需要将 body 设置为 SendCloudTemplate 对象,达到目的有几种方法
body
SendCloudTemplate
Mail::send('随便传个空view', [], function ($message) { $message->from('[email protected]', 'Laravel'); $message->to('[email protected]')->cc('[email protected]'); // 模板变量 $bind_data = ['url' => 'http://naux.me']; $template = new SendCloudTemplate('模板名', $bind_data); $message->getSwiftMessage()->setBody($template); }); // 模板变量 $bind_data = ['url' => 'http://naux.me']; $template = new SendCloudTemplate('模板名', $bind_data); Mail::raw($template, function ($message) { $message->from('[email protected]', 'Laravel'); $message->to('[email protected]')->cc('[email protected]'); });
看了上面两种用法,其他用法对照官方文档也能猜出来了吧,如使用 queue 发送等 ~
queue