Отправка email в Laravel 5.2

Категория: Laravel

Примеры настройки SMTP сервера и отправки email сообщений в Laravel 5.2.

Пример настройки SMTP сервера google в конфиг-файле .env:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=yourname@gmail.com
MAIL_PASSWORD=YOUR_PASS
MAIL_ENCRYPTION=tls

Отправка тестового email:

Mail::raw('welcome', function($message) { $message->to('some-user@gmail.com')->subject('Subject Test 01'); });
Mail::send('welcome', [/*array*/], function($message) { $message->to('some-user@gmail.com')->subject('Subject Test 01'); });

Отправка короткого текстового email сообщения:

\Mail::raw('Messsage text', function(\Illuminate\Mail\Message $mail) {
    $mail->subject('Тема сообщения');
    $mail->from('yourname@gmail.com', 'Your Name');
    $mail->to('to_email@gmail.com');
});

Отправка шаблонного HTML email сообщения (используем шаблон resources/views/emails/notice.blade.php):

$mailData = [
    'note' => $note,
    'postMessage' => $postMessage
];
\Mail::send('emails.notice', $mailData, function (\Illuminate\Mail\Message $mail) {
    $mail->subject('Новое сообщение на onedev.net');
    $mail->from('yourname@gmail.com', 'Your Name');
    $mail->to('to_email@gmail.com');
});
Примечание

В email шаблон будет автоматически пробрасываться объект $message класса \Illuminate\Mail\Message.

Внимание!

При ошибке:

Swift_TransportException with message 'Failed to authenticate on SMTP server with username "some_username@gmail.com" using 3 possible authenticators.
Authenticator LOGIN returned Swift_TransportException: Expected response code 235 but got code "535", with message "535-5.7.8
Username and Password not accepted.
Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials 4sm7671559wmg.22 - gsmtp

Пробуем:

  1. Разрешить доступ небезопасным приложениям: https://myaccount.google.com/lesssecureapps
  2. Сменить пароль к учетке google/gmail.

#laravel 5 email send, #laravel 5 gmail smtp

категория: Laravel