>  기사  >  PHP 프레임워크  >  Laravel6은 전송 계정을 우아하게 전환합니다.

Laravel6은 전송 계정을 우아하게 전환합니다.

Guanhui
Guanhui앞으로
2020-06-20 17:41:513426검색

Laravel6은 전송 계정을 우아하게 전환합니다.

머리말

비즈니스 요구에 따라 다양한 시나리오에 따라 이메일을 보내는 데 다른 계정을 사용해야 합니다. 기본적으로 하나의 사서함에서만 이메일을 보낼 수 있습니다. 실제 상황이 만족스럽지 못한 경우, Config::set() 메서드를 사용하여 동적으로 계정을 설정한 후 이메일을 성공적으로 보낼 수 있지만 다시 설정하여 보내는 계정을 다시 수정할 수는 없습니다.

추천 튜토리얼: "Laravel Tutorial"

방법은 다음과 같습니다.

이메일 계정 구성 파일/config/my_emails.php를 생성합니다


<?php
return [
 &#39;emails&#39; => [
  &#39;a&#39; => [
   &#39;email&#39; => &#39;a@188.com&#39;,
   &#39;password&#39; => &#39;专属客户端密码&#39;,
   &#39;smtp&#39; => &#39;smtp.188.com&#39;,
   &#39;port&#39; => &#39;465&#39;,
   &#39;encryption&#39; => &#39;ssl&#39;,
   &#39;name&#39; => &#39;靓仔A&#39;,
  ],
  &#39;b&#39; => [
   &#39;email&#39; => &#39;b@188.com&#39;,
   &#39;password&#39; => &#39;专属客户端密码&#39;,
   &#39;smtp&#39; => &#39;smtp.188.com&#39;,
   &#39;port&#39; => &#39;994&#39;,
   &#39;encryption&#39; => &#39;ssl&#39;,
   &#39;name&#39; => &#39;靓女b&#39;,
  ],
 ],
];

그런 다음 스위칭 어시스턴트를 생성합니다. 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(&#39;a&#39;);
Mail::to(&#39;boy@163.com&#39;)->send(new TestMail());
MailHelper::setAccount(&#39;b&#39;);
Mail::to(&#39;girl@163.com&#39;)->send(new TestMail());

Summary

이 글은 Laravel 6.18.19

에서 전송 계정을 우아하게 전환하는 방법에 대한 것입니다. 관련 권장 사항: "PHP Tutorial

위 내용은 Laravel6은 전송 계정을 우아하게 전환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제