✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Відправка електронної пошти через сервер SMTP Gmail в Laravel

241

Ви хочете використовувати 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 і натисніть "Обліковий запис". Опинившись на сторінці "Обліковий запис", натисніть "Безпека". Прокрутіть униз, і ви знайдете налаштування "Менш безпечний доступ до програми". Встановіть його на ON.

Відправка електронної пошти через сервер SMTP Gmail в Laravel

Код для відправки електронної пошти в Laravel

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

Для цього підручника я збираюся використовувати клас «Mail» для написання коду. Користувач може також написати код за допомогою Laravel Mailable. Це не призведе до різниці. В обох випадках Laravel використовує сервер SMTP Gmail у фоновому режимі.

Коли ви використовуєте клас "Пошта", ваш код буде приблизно таким, як написано нижче.

$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, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі