Отправка приветственного письма пользователю после регистрации на вашем сайте — это отличный способ начать с ним работу и дать ему понять, что ему здесь рады, кроме того, приятно просто сказать спасибо, разве нет?
Что ж, без сомнений, на вашем сайте возникнет необходимость отправлять электронные письма, и вам нужно знать, как это сделать.
Не беспокойтесь, в этой статье я покажу вам, как легко настроить отправку электронной почты в Laravel при помощи Gmail SMTP! Так что, как обычно, расслабьтесь, выпейте чашечку кофе и приступим к делу.
Надеюсь, что у вас уже установлен composer, поэтому перейдите в рабочую папку нового проекта и запустите приведенный ниже код в консоли.
composer global require laravel/installer
Composer загрузит установщик Laravel. Теперь создайте новый проект
laravel new mail4me
Поздравляю! Вы успешно настроили Laravel и, теперь, вы в одном шаге от создания нечто прекрасного. У вас есть папка mail4me, которая содержит все файлы проекта. Перейдите в папку mail4me и запустите
php artisan serve
После запуска Laravel необходимо настроить SMTP. Для этого откройте файл .env, он лежит в корне проекта, и отредактируйте эти поля
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
замените их на:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=ENTER_YOUR_GMAIL_USERNAME
MAIL_PASSWORD=ENTER_YOUR_GMAIL_PASSWORD
MAIL_ENCRYPTION=ssl
Сохраните изменения.
Поскольку мы используем Gmail SMTP, нам нужно изменить некоторые настройки в нашей учетной записи Google.
Войдите в неё и нажмите «Аккаунт Google». Далее нажмите «Безопасность». Прокрутите вниз до упора и увидите настройку «Ненадежные приложения, у которых есть доступ к аккаунту». Включите её.
На этом этапе мы успешно завершили все основные настройки. Теперь нам нужно написать код, который отправит электронное письмо. Примерно так:
$to_name = 'TO_NAME';
$to_email = 'TO_EMAIL_ADDRESS';
$data = array('name'=>"Sam Jose", "body" => "Test mail");
Mail::send('emails', $data, function($message) use ($to_name, $to_email) {
$message->to($to_email, $to_name)->subject('Artisans Web Testing Mail');
$message->from('FROM_EMAIL_ADDRESS','Artisans Web');
});
В выше приведенном коде мы используем шаблон «emails». Это означает, что мы должны создать папку и файл: resources/views/emails.blade.php.
Наш emails.blade.php будет содержать следующий код:
Hi <strong>{{ $name }}</strong>,
<p>{{ $body }}</p>
Всё! Laravel в фоновом режиме автоматически использует SMTP-сервер Gmail и отправляет через него электронную почту.
Автор: Oluwatobi Shokunbi
Перевод: Demiurge Ash