ホームページ > 記事 > PHPフレームワーク > Laravel6 は送信アカウントをエレガントに切り替えます
##まえがき
通知システムを作成する場合、次のようになります。ビジネスのニーズに応じて、さまざまなシナリオに応じてさまざまなアカウントを使用して電子メールを送信する Laravel は、デフォルトでは 1 つの電子メール アドレスからの電子メールの送信のみをサポートします。実際の状況に満足できず、Config::set() メソッドを使用してアカウントを動的に設定した後、メールは正常に送信できますが、再設定によって送信アカウントを再度変更することはできません。# 推奨チュートリアル:「Laravel チュートリアル 」
##方法は次のとおりです。 #電子メールアカウント設定ファイルを作成します/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', ], ], ];
次にスイッチングアシスタントクラスを作成します
<?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")); } }
実際の使用方法は次のとおりです。 :
<?php MailHelper::setAccount('a'); Mail::to('boy@163.com')->send(new TestMail()); MailHelper::setAccount('b'); Mail::to('girl@163.com')->send(new TestMail());概要
これで、Laravel 6.18.19 で送信アカウントをエレガントに切り替える方法に関するこの記事は終了です 関連する推奨事項: 「
PHP チュートリアル #」以上がLaravel6 は送信アカウントをエレガントに切り替えますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。