Laravel6.18.19如何優(yōu)雅的切換發(fā)件賬戶
前言
在做一個(gè)通知系統(tǒng)時(shí),業(yè)務(wù)需求,根據(jù)不同場景使用不同的賬戶發(fā)送郵件,laravel默認(rèn)只支持一個(gè)郵箱發(fā)郵件。不滿實(shí)際情況,使用Config::set()方法動(dòng)態(tài)設(shè)置賬戶后,可以成功發(fā)送郵件,再次set無法再次修改發(fā)件賬戶。
查閱多個(gè)資料的值,需要重新設(shè)置SwiftMailer。
方法如下:
創(chuàng)建郵箱賬戶配置文件/config/my_emails.php
<?php return [ 'emails' => [ 'a' => [ 'email' => 'a@188.com', 'password' => '專屬客戶端密碼', 'smtp' => 'smtp.188.com', 'port' => '465', 'encryption' => 'ssl', 'name' => '靚仔A', ], 'b' => [ 'email' => 'b@188.com', 'password' => '專屬客戶端密碼', 'smtp' => 'smtp.188.com', 'port' => '994', 'encryption' => 'ssl', 'name' => '靚女b', ], ], ];
接下來創(chuàng)建切換助手類
<?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")); } }
實(shí)際使用如下:
<?php MailHelper::setAccount('a'); Mail::to('boy@163.com')->send(new TestMail()); MailHelper::setAccount('b'); Mail::to('girl@163.com')->send(new TestMail());
總結(jié)
到此這篇關(guān)于Laravel6.18.19如何優(yōu)雅的切換發(fā)件賬戶的文章就介紹到這了,更多相關(guān)Laravel6.18.19切換發(fā)件賬戶內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP實(shí)現(xiàn)隨機(jī)生成水印圖片功能
這篇文章主要為大家詳細(xì)介紹了PHP生成隨機(jī)水印圖片的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03Laravel給生產(chǎn)環(huán)境添加監(jiān)聽事件(SQL日志監(jiān)聽)
這篇文章主要給大家介紹了關(guān)于Laravel給生產(chǎn)環(huán)境添加監(jiān)聽事件(SQL日志監(jiān)聽)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06淺談thinkphp5 instance 的簡單實(shí)現(xiàn)
本篇文章主要介紹了淺談thinkphp5 instance 的簡單實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07PHP使用openssl擴(kuò)展實(shí)現(xiàn)加解密方法示例
這篇文章主要介紹了PHP使用openssl擴(kuò)展實(shí)現(xiàn)加解密方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02thinkPHP框架中l(wèi)ayer.js的封裝與使用方法示例
這篇文章主要介紹了thinkPHP框架中l(wèi)ayer.js的封裝與使用方法,結(jié)合實(shí)例形式分析了thinkPHP中調(diào)用layer.js的具體操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-01-01PHP 傳輸會(huì)話curl函數(shù)的實(shí)例詳解
這篇文章主要介紹了PHP 傳輸會(huì)話curl函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09分享PHP源碼批量抓取遠(yuǎn)程網(wǎng)頁圖片并保存到本地的實(shí)現(xiàn)方法
本篇文章給大家分享PHP源碼批量抓取遠(yuǎn)程網(wǎng)頁圖片并保存到本地的實(shí)現(xiàn)方法,對(duì)批量抓取網(wǎng)頁圖片相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12