WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Отправка электронной почты через SMTP-сервер Gmail в Laravel

753

Вы хотите использовать SMTP-сервер Gmail для отправки писем в Laravel? Иногда ваш сервер не отправляет электронные письма из-за своих ограничений или неправильной конфигурации. В таких случаях вы можете использовать SMTP-сервер для отправки электронных писем. В этой статье мы обсудим, как отправлять электронную почту с помощью SMTP-сервера Gmail в Laravel.

Используя SMTP-сервер, ваши электронные письма не попадут в папку для спама. Как правило, оно будет рассматриваться как подлинное электронное письмо и попадет в почтовый ящик пользователя.

Еще одно преимущество использования SMTP-сервера заключается в том, что вы также можете отправлять электронные письма со своего локального сервера. Будет полезно протестировать работу электронной почты на самом локальном сервере.

Настройка SMTP-сервера Gmail в Laravel

Laravel использует config/mail.phpфайл для хранения деталей, связанных с поставщиками электронной почты. Этот файл содержит такие настройки, как MAIL_HOST, MAIL_PORT, MAIL_ENCRYPTION и т.д. Пользователь должен предоставить эту информацию, которая будет использоваться Laravel и отправлять ваши электронные письма.

Чтобы добавить эту информацию, вам не нужно редактировать config / mail.php. Вместо этого вам следует сохранить эти данные в .envфайле.

Откройте .envфайл, который находится в корневом каталоге, и вы найдете ниже код, связанный с настройками электронной почты.

MAIL_MAILER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

Отредактируйте приведенные выше данные следующим образом.

MAIL_MAILER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=GMAIL_USERNAME
MAIL_PASSWORD=GMAIL_PASSWORD
MAIL_ENCRYPTION=ssl

Здесь я установил драйвер как smtp, хост для Gmail как smtp.googlemail.com, порт SMTP для Gmail как 465 и метод шифрования ssl. Не забудьте заменить заполнители GMAIL_USERNAME, GMAIL_PASSWORD своим фактическим именем пользователя и паролем Gmail.

Чтобы использовать SMTP-сервер Gmail, вам необходимо изменить некоторые настройки в своей учетной записи Google. Войдите в свою учетную запись Google и нажмите «Учетная запись». Как только вы окажетесь на странице «Учетная запись», нажмите «Безопасность». Прокрутите вниз, и вы найдете настройки «Небезопасный доступ к приложениям». Установите его в положение ВКЛ.

Отправка электронной почты через SMTP-сервер Gmail в Laravel

Код для отправки электронной почты в Laravel

На этом этапе вы завершили все основные настройки. Теперь вам нужно написать код Laravel, который будет отправлять электронное письмо.

В этом руководстве я собираюсь использовать класс Mail для написания кода. Пользователь также может написать код с помощью Laravel Mailable. Это не будет иметь никакого значения. В обоих случаях Laravel использует SMTP-сервер Gmail в фоновом режиме.

Когда вы используете класс «Mail», ваш код будет выглядеть примерно так, как написано ниже.

$to_name = 'TO_NAME';
$to_email = 'TO_EMAIL_ADDRESS';
$data = array('name'=>"Sam Jose", "body" => "Test mail");
     
Mail::send('emails.mail', $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.mail”. Это означает, что вам нужно создать папку и файл как resources->views->emails->mail.blade.php.

Ваш mail.blade.phpбудет содержать следующий код.

Hi <strong>{{ $name }}</strong>,
  
<p>{{ $body }}</p>

Это оно! Теперь в фоновом режиме Laravel будет автоматически использовать SMTP-сервер Gmail и отправлять ваши электронные письма.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее