一个可以使 Laravel Mail 对不同邮箱地址自动切换使用不同 Mail Driver 的补丁
这个问题缘起于这个帖子:
怎么让 Laravel 5.3 支持多个 mail driver,并且能在运行中切换?,
受到大家的帮助,然后和强大的ElfSundae一起撸成,代码放在 https://github.com/kevinzheng/laravel-swit..., 欢迎大家研究采用和指正改进:smile:。
README粘贴在这:
laravel-switchable-mail
该补丁可以使Laravel同时维护多个Mail Driver
,且自动根据目标邮箱地址切换使用不同的Mail Driver
。
说明
安装
-
使用
Composer
安装:composer require kevinzheng/laravel-switchable-mail
-
在
config/app.php
中替换Illuminate\Mail\MailServiceProvider::class
为KVZ\Laravel\SwitchableMail\MailServiceProvider::class
。 -
生成配置文件
php artisan vendor:publish --tag=switchable-mail
配置
默认使用.env
中配置的MAIL_DRIVER
作为邮件发送服务商,如果有特定邮箱地址需要指定不同Mail Driver
,可以在switchable-mail.php
中进行配置。如果要使用Laravel
未提供的邮件服务商驱动,需要同时安装对应驱动。比如阿里云Direct Mail
和搜狐的SendCloud
需要安装对应的支持才可以。
```php
// 'directmail' => [
// 'qq.com', '163.com', '126.com', 'sina.com', 'sina.com.cn', 'sohu.com',
// ],
// 'mailgun' => [
// 'example.com',
// ],
```
提供两个邮件驱动供大家参考选用:
使用
什么都不需要做,像使用Laravel Mail
那样正常使用即可。
没人响应..:open_mouth: 看来有此需求的人不多。我代表月亮消灭0赞0评论:sunglasses:
@ElfSundae 我估计多数人是通过挑选邮件服务商来解决的,不是通过修改代码:dog:
@kvz 星期五大家都不活跃
@Summer 有同感,周五下班都去大放松了,:smile:
@kvz @ElfSundae NB! 真速度!
@overtrue 希望大家喜欢:smile: