2015-11-19 11:41:43

Laravel - Gmail SMTP

Greitai ir paprastai: kaip pasinaudoti savo gmail meilu, el. laiškų siuntimui iš Laravel5.

Šioje pamokėlėje, glaustai aprašysiu, kaip siųsti el. paštą iš savo Laravel projekto, pasinaudojant populiariausia el. pašto platforma GMAIL, naudojantis SMTP protokolu.

 dev.env faile nurodykite tokias reikšmes:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=vardenis.pavardenis@gmail.com
MAIL_PASSWORD=slaptas_slaptazodis


Per parą gmail, tokiu būdu leidžia išsiųsti iki 99 el. pašto laiškų. Po paros skaitiklis nusinulins.


Sukuriame  views/emails/errors.blade.php . Šis view mano atveju, bus naudojamas informuoti apie klaidas, todėl jis ir pavadintas errors.

{{ var_dump($message) }}

Šiuo atveju view blade'as tiesiog išves į jį perduodamą žinutę.

Realiai šiame view'se turi būti visas Jūsų el. laiško dizainas, kuriame turite patalpinti iš kontrollerio perduotus kintamuosius.


Kontrolerio metode, kuris bus atsakingas už el. laiško siuntimą, sukuriame kodą, kuris išsiųs testinį emeilą:

Mail::send('emails.errors', ['message' => 'Testine zinute... '], function ($m) {
$m->to('adresas@xxx.com', 'Lukas Mikelionis | Blog ')->subject('Test !!');
});
  • Taigi į Mail::send metodą paduodame:
  • a) view'so pavadinimą/kelią (šiuo atveju jis yra padėtas: views/emails/erros.blade.php).
  • b) masyvą su kintamaisiai kurie turi būti atvaizduoti el. laiške.
  • c) anoniminę funciją kuri supildo el. laiško parametrus.

Kontrolerio metodą žinome priskiriame rout'ui. Tada užeiname į tą route ir...

Greičiausiai iš kart laiško išsiųsti nepavyks, gausite klaidą, kadangi gmail, riboja nesaugių pašto clientų panaudojimą. Jį ųjungti galite savo gmail paskyroje. Pagal instrukcijas kurios aprašytos šiame gide.

 

Saugiomis aplikacijomis email siuntimui, google laiko tas programomas kurios naudojasi OAuth 2.0 servisu. Kaip tai realizuoti Laravel5 bus kitoje pamokėlėje ;)