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

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

815

Вы хотите использовать 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 для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее