Метод mailer
Метод mailer класса Mail применяется для указания конкретного почтового драйвера при отправке письма. Первым параметром передаётся имя драйвера, которое указано в конфигурационном файле config/mail.php. Этот метод полезен, когда необходимо отправить письмо через определённый почтовый сервис, отличный от используемого по умолчанию.
Синтаксис
<?php
Mail::mailer($mailer)->send($mailable);
?>
Пример
Давайте отправим письмо через драйвер 'mailgun':
<?php
use IlluminateSupportFacadesMail;
use AppMailTestMail;
$mailer = Mail::mailer('mailgun');
$mailer->send(new TestMail());
?>
Результат выполнения кода:
"Email sent via mailgun driver"
Пример
Давайте отправим письмо через драйвер 'ses' с использованием метода to для указания получателя:
<?php
use IlluminateSupportFacadesMail;
use AppMailWelcomeMail;
$mailer = Mail::mailer('ses');
$mailer->to('user@example.com')->send(new WelcomeMail());
?>
Результат выполнения кода:
"Email sent to user@example.com via ses driver"
Пример
Давайте проверим, что метод возвращает тот же экземпляр Mailer, что позволяет использовать цепочки вызовов:
<?php
use IlluminateSupportFacadesMail;
use AppMailOrderShipped;
$res = Mail::mailer('log')
->to('admin@example.com')
->cc('manager@example.com')
->send(new OrderShipped());
echo $res;
?>
Результат выполнения кода:
"Email sent via log driver with cc recipient"