Heim >PHP-Framework >Laravel >Laravel6 wechselt elegant die Sendekonten

Laravel6 wechselt elegant die Sendekonten

Guanhui
Guanhuinach vorne
2020-06-20 17:41:513470Durchsuche

Laravel6 wechselt elegant die Sendekonten

Vorwort

Beim Erstellen eines Benachrichtigungssystems, Laut Verwenden Sie je nach Geschäftsanforderungen unterschiedliche Konten zum Senden von E-Mails. Laravel unterstützt standardmäßig nur das Senden von E-Mails von einer E-Mail-Adresse. Wenn Sie mit der tatsächlichen Situation nicht zufrieden sind, kann die E-Mail nach Verwendung der Methode Config::set() zum dynamischen Festlegen des Kontos erfolgreich gesendet werden, das sendende Konto kann jedoch nicht durch erneutes Festlegen geändert werden.

Empfohlenes Tutorial: „Laravel Tutorial

Die Methode ist wie folgt:

Erstellen Sie die E-Mail-Kontokonfigurationsdatei/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;,
  ],
 ],
];

Als nächstes erstellen Sie die Umschaltassistentenklasse

<?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"));
 }
}

Die tatsächliche Nutzung lautet wie folgt:

<?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());

Zusammenfassung

Das ist alles für diesen Artikel darüber, wie man Sendekonten in Laravel 6.18.19 elegant wechselt

Verwandte Empfehlungen: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonLaravel6 wechselt elegant die Sendekonten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen