Laravel 6.18.19 헤 어 계 정 을 우아 하 게 전환 하 는 방법

머리말
알림 시스템 을 만 들 때 업무 수요 에 따라 장면 에 따라 서로 다른 계 정 으로 메 일 을 보 냅 니 다.laravel 은 기본적으로 하나의 메 일 로 만 메 일 을 보 낼 수 있 습 니 다.실제 상황 에 불만 이 있 으 면 Config:set()방법 으로 계 정 을 동적 으로 설정 한 후 메 일 을 성공 적 으로 보 낼 수 있 습 니 다.다시 set 는 보 낸 계 정 을 다시 수정 할 수 없습니다.
여러 자료 의 값 을 찾 으 려 면 Swift Mailer 를 다시 설정 해 야 합 니 다.
방법 은 다음 과 같다.
메 일 계 정 설정 파일 만 들 기/config/myemails.php

<?php
return [
 'emails' => [
  'a' => [
   'email' => '[email protected]',
   'password' => '       ',
   'smtp' => 'smtp.188.com',
   'port' => '465',
   'encryption' => 'ssl',
   'name' => '  A',
  ],
  'b' => [
   'email' => '[email protected]',
   '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('[email protected]')->send(new TestMail());
MailHelper::setAccount('b');
Mail::to('[email protected]')->send(new TestMail());
총결산
Laravel 6.18.19 가 어떻게 우아 하 게 발송 계 정 을 전환 하 는 지 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 Laravel 6.18.19 발송 계 정 전환 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 저 희 를 많이 사랑 해 주세요!

좋은 웹페이지 즐겨찾기