Laravel6.18.19如何优雅的切换发件账户
邮件发送账户灵活切换指南——基于Laravel 6.18.19的优雅实践
在开发通知系统时,我们经常需要根据不同的业务场景使用不同的账户来发送邮件。Laravel默认设置只支持一个账户发送邮件,这显然不能满足我们的实际需求。在尝试使用Config::set()方法动态设置账户后,我们发现无法成功切换发件账户。为此,我们需要深入了解并重新设置SwiftMailer。
以下是优雅的切换发件账户的方法:
一、创建账户配置文件
在/config目录下创建my_emails.php配置文件,用于存储你的账户信息。例如:
```php
return [
'emails' => [
'a' => [
'email' => 'a@188.',
'password' => '专属客户端密码',
'smtp' => 'smtp.188.',
'port' => '465',
'encryption' => 'ssl',
'name' => '靓仔A',
],
'b' => [
'email' => 'b@188.',
'password' => '专属客户端密码',
'smtp' => 'smtp.188.',
'port' => '994',
'encryption' => 'ssl',
'name' => '靓女b',
],
],
];
```
二、创建切换助手类
在App\Mail目录下创建MailHelper类,用于动态设置发件账户。例如:
```php
namespace App\Mail;
use Illuminate\Support\Facades\Mail;
class MailHelper {
public static function setAccount($accountName) {
$transport = new \Swift_SmtpTransport(
config("my_emails.emails.{$accountName}.smtp"),
config("my_emails.emails.{$accountName}.port"),
config("my_emails.emails.{$accountName}.encryption")
);
$transport->setUsername(config("my_emails.emails.{$accountName}.email"));
$transport->setPassword(config("my_emails.emails.{$accountName}.password"));
$mailer = new \Swift_Mailer($transport);
Mail::setSwiftMailer($mailer);
Mail::alwaysFrom(config("my_emails.emails.{$accountName}.email"), config("my_emails.emails.{$accountName}.name"));
}
}
```
三、实际使用示例
现在你可以通过调用MailHelper类的setAccount方法来切换发件账户,然后发送邮件。例如:
```php MailHelper::setAccount('a'); Mail::to('boy@163.')->send(new TestMail()); MailHelper::setAccount('b'); Mail::to('girl@163.')->send(new TestMail()); ``` 这就是关于Laravel6.18.19如何优雅地切换发件账户的介绍。如果你想了解更多关于Laravel6.18.19切换发件账户的内容,请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章。希望这篇文章对你有所帮助,也希望大家能多多支持狼蚁SEO!
编程语言
- Laravel6.18.19如何优雅的切换发件账户
- ASP同一站点下gb2312和utf-8页面传递参数乱码的终极
- 安装docker和docker-compose实例详解
- asp通用采集函数冗余版可以保存文件到本地
- vue.js实现刷新当前页面的方法教程
- 基于jQuery+JSON的省市二三级联动效果
- layui弹出层按钮提交iframe表单的方法
- ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
- yii实现使用CUploadedFile上传文件的方法
- Laravel Validator 实现两个或多个字段联合索引唯一
- Linux 下java jps命令使用解析详解
- 使用PHP json_decode可能遇到的坑与解决方法
- chrome下判断点击input上标签还是其余标签的实现方
- php导入excel文件到mysql数据库的方法
- 正则表达式教程之子表达式用法分析
- php文本转图片自动换行的方法