Отправка email в Laravel 5.2
Примеры настройки 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
Пробуем:
- Разрешить доступ небезопасным приложениям: https://myaccount.google.com/lesssecureapps
- Сменить пароль к учетке google/gmail.
#laravel 5 email send, #laravel 5 gmail smtp