Sähköpostin lähettäminen Gmail SMTP -palvelimen kautta Laravelissa
Haluatko käyttää Gmailin SMTP-palvelinta sähköpostiviestien lähettämiseen Laravelissa? Joskus palvelimesi ei lähetä sähköposteja rajoitustensa tai väärän kokoonpanonsa vuoksi. Tällaisissa tilanteissa voit käyttää SMTP-palvelinta sähköpostiviestien lähettämiseen. Tässä artikkelissa keskustellaan sähköpostin lähettämisestä Gmail SMTP -palvelimen avulla Laravelissa.
SMTP-palvelinta käytettäessä sähköpostisi eivät päädy roskapostikansioon. Yleensä sitä käsitellään aitona sähköpostina ja se menee käyttäjän postilaatikkoon.
Vielä yksi etu SMTP-palvelimen käytöstä on, että voit lähettää sähköposteja myös paikalliselta palvelimelta. On hyödyllistä testata sähköpostitoiminnot itse paikallisella palvelimella.
Gmail SMTP -palvelimen asennus Laravelissa
Laravel käyttää config/mail.php
tiedostoa sähköpostipalvelujen tarjoajien tietojen tallentamiseen. Tämä tiedosto sisältää asetukset, kuten MAIL_HOST, MAIL_PORT, MAIL_ENCRYPTION jne. Käyttäjän tulee antaa nämä tiedot, joita Laravel käyttää, ja lähettää sähköpostisi.
Jos haluat lisätä nämä tiedot, sinun ei tarvitse muokata config / mail.php-tiedostoa. Sen sijaan sinun tulisi tallentaa nämä tiedot .env
tiedostoon.
Avaa .env
juurihakemistossasi oleva tiedosto ja löydät alla olevan sähköpostiasetuksiin liittyvän koodin.
MAIL_MAILER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Muokkaa yllä olevia tietoja seuraavasti.
MAIL_MAILER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=GMAIL_USERNAME
MAIL_PASSWORD=GMAIL_PASSWORD
MAIL_ENCRYPTION=ssl
Tässä asetin ohjaimen smtp: ksi, isännän Gmailille nimellä smtp.googlemail.com, SMTP-portin Gmailiksi 465: ksi ja salaustavan ssl: ksi. Muista korvata paikkamerkit GMAIL_USERNAME, GMAIL_PASSWORD todellisella Gmail-käyttäjänimelläsi ja salasanallasi.
Jotta voit käyttää Gmailin SMTP-palvelinta, sinun on muutettava joitain Google-tilisi asetuksia. Kirjaudu Google-tilillesi ja napsauta Tili. Kun olet ‘Tili’ -sivulla, napsauta ‘Turvallisuus’. Vieritä alaspäin ja löydät ‘Vähemmän turvallisen sovelluksen käyttö’ -asetukset. Aseta se asentoon ON.
Koodi sähköpostin lähettämiseen Laravelissa
Tässä vaiheessa olet suorittanut kaikki perusasetukset. Nyt sinun on kirjoitettava Laravel-koodi, joka lähettää sähköpostin.
Tätä opetusohjelmaa varten aion käyttää Mail-luokkaa koodin kirjoittamiseen. Käyttäjä voi kirjoittaa koodin myös Laravel Mailable -sovelluksella. Se ei tee mitään eroa. Molemmissa tapauksissa Laravel käyttää Gmailin SMTP-palvelinta taustalla.
Kun käytät Mail-luokkaa, koodisi on jotain alla kuvattua.
$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');
});
Yllä olevassa koodissa käytän näkymää ’emails.mail’. Se tarkoittaa, että sinun on luotava kansio ja tiedosto muodossa resources->views->emails->mail.blade.php
.
Sinun mail.blade.php
sisältää koodin seuraavasti.
Hi <strong>{{ $name }}</strong>,
<p>{{ $body }}</p>
Se siitä! Nyt taustalla Laravel käyttää automaattisesti Gmailin SMTP-palvelinta ja lähettää sähköpostisi.