✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Wysyłanie wiadomości e-mail przez serwer SMTP Gmaila w Laravel

217

Czy chcesz używać serwera SMTP Gmaila do wysyłania e-maili w Laravel? Czasami Twój serwer nie wysyła wiadomości e-mail ze względu na swoje ograniczenia lub błędną konfigurację. W takich sytuacjach możesz użyć serwera SMTP do wysyłania e-maili. W tym artykule omówimy sposób wysyłania wiadomości e-mail za pomocą serwera SMTP Gmaila w Laravel.

Korzystając z serwera SMTP, Twoje e-maile nie trafią do folderu spamu. Ogólnie rzecz biorąc, będzie on traktowany jako prawdziwy e-mail i trafi do skrzynki odbiorczej użytkownika.

Kolejną zaletą korzystania z serwera SMTP jest możliwość wysyłania wiadomości e-mail również z serwera lokalnego. Pomocne będzie przetestowanie funkcjonalności poczty e-mail na samym serwerze lokalnym.

Konfiguracja serwera SMTP Gmaila w Laravel

Laravel używa config/mail.phppliku do przechowywania szczegółów związanych z dostawcami poczty e-mail. Ten plik zawiera ustawienia takie jak MAIL_HOST, MAIL_PORT, MAIL_ENCRYPTION, itp. Użytkownik powinien podać te informacje, które będą wykorzystywane przez Laravel i wysyłanie wiadomości e-mail.

Aby dodać te informacje, nie musisz edytować pliku config/mail.php. Zamiast tego powinieneś przechowywać te szczegóły w .envpliku.

Otwórz swój .envplik, który znajduje się w katalogu głównym, a poniżej znajdziesz kod związany z ustawieniami poczty e-mail.

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

Edytuj powyższe szczegóły w następujący sposób.

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

Tutaj ustawiłem sterownik jako smtp, host dla Gmaila jako smtp.googlemail.com, port SMTP dla Gmaila jako 465, a metodę szyfrowania na ssl. Pamiętaj, aby zastąpić symbole zastępcze GMAIL_USERNAME, GMAIL_PASSWORD swoją rzeczywistą nazwą użytkownika i hasłem Gmail.

Aby korzystać z serwera SMTP Gmaila, musisz zmienić niektóre ustawienia na swoim koncie Google. Zaloguj się na swoje konto Google i kliknij „Konto". Gdy znajdziesz się na stronie „Konto”, kliknij „Bezpieczeństwo”. Przewiń w dół, a znajdziesz ustawienia „Mniej bezpieczny dostęp do aplikacji”. Ustaw go na ON.

Wysyłanie wiadomości e-mail przez serwer SMTP Gmaila w Laravel

Kod do wysyłania wiadomości e-mail w Laravel

Na tym etapie zakończysz wszystkie podstawowe ustawienia. Teraz musisz napisać kod Laravela, który wyśle ​​e-mail.

W tym samouczku do pisania kodu użyję klasy „Mail”. Użytkownik może również napisać kod za pomocą Laravel Mailable. Nie zrobi to żadnej różnicy. W obu przypadkach Laravel używa w tle serwera SMTP Gmaila.

Kiedy użyjesz klasy ‘Mail’, twój kod będzie wyglądał tak, jak napisano poniżej.

$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');
});

W powyższym kodzie używam widoku „emails.mail”. Oznacza to, że musisz utworzyć folder i plik jako resources->views->emails->mail.blade.php.

Twój mail.blade.phptestament zawiera następujący kod.

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

Otóż ​​to! Teraz w tle Laravel automatycznie użyje serwera SMTP Gmaila i wyśle ​​​​Twoje e-maile.

Powiązane artykuły

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów