머리말
비즈니스 요구에 따라 다양한 시나리오에 따라 이메일을 보내는 데 다른 계정을 사용해야 합니다. 기본적으로 하나의 사서함에서만 이메일을 보낼 수 있습니다. 실제 상황이 만족스럽지 못한 경우, Config::set() 메서드를 사용하여 동적으로 계정을 설정한 후 이메일을 성공적으로 보낼 수 있지만 다시 설정하여 보내는 계정을 다시 수정할 수는 없습니다.
추천 튜토리얼: "Laravel Tutorial"
방법은 다음과 같습니다.
이메일 계정 구성 파일/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', ], ], ];
그런 다음 스위칭 어시스턴트를 생성합니다. class
<?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());
Summary
이 글은 Laravel 6.18.19
에서 전송 계정을 우아하게 전환하는 방법에 대한 것입니다. 관련 권장 사항: "PHP Tutorial
위 내용은 Laravel6은 전송 계정을 우아하게 전환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!