laravel

Saada e-kirju Laravelis SMTP abil

Saada e-kirju Laravelis SMTP abil
E-kirja saatmine on kõigi veebirakenduste tavaline nõue. Mõned meilide saatmise üldised kasutusalad on kasutaja registreerimise kontrollimine, kasutajatelt tagasiside saamine, saidi administraatoriga ühenduse võtmise võimaluste pakkumine jne. Laraveli raamistik sisaldab mitut paketti Laraveli projektist meilide saatmiseks. SMTP, Mailgun, Postmark ja Amazon SES-i kasutatakse Laravelis lihtsate, tehingute ja hulgi-meilide saatmiseks. Laravelil on e-posti saatmise teek nimega SwiftMailer, et saata e-kirja malliga. See õpetus näitab teile, kuidas saata SMTP abil lihtsat meili.

SMTP seadistamine ja konfigureerimine

Ava .env fail Laraveli projekti juurkaustast ja seadistage konfiguratsioon vastavalt oma Gmaili kontole. Peate lubamaVähem turvaline rakendus”Oma Gmaili konto valik meili saatmiseks Gmaili SMTP-serveri abil.

MAIL_MAILER = smtp
MAIL_HOST = smtp.gmail.com
MAIL_PORT = 465
MAIL_USERNAME = TEIE_EMAIL_ADDRESS
MAIL_PASSWORD = SINU_PASSWORD
MAIL_ENCRYPTION = ssl

***Märge:

SMTP Gmaili konto serveri abil meilisõnumite saatmisel võidakse saada SMTP-autentimisviga. Ava StreamBuffer.php fail järgmisest asukohast.

/ var / www / html / laravelpro / vendor / swiftmailer / swiftmailer /
lib / klassid / Swift / Transport / StreamBuffer.php

Leidke ja asendage rida 259 järgmise reaga Gmaili SMTP-serveri autentimiseks.

$ options ['ssl'] = massiiv ('confirm_peer' => false, 'Verify_peer_name' => false,
'allow_self_signed' => true);

E-kirjade saatmine SMTP abil

E-posti saatmiseks kontaktivormi abil toimige järgmiselt, luues kontrolleri, vaate ja meiliklassi.

Sammud:

Selle loomiseks käivitage terminalist järgmine käsk EmailController kontaktivormi kuvamiseks ja Laraveli postiklassi abil meilisõnumi saatmiseks.

$ php käsitööline make: kontroller EmailController

Nimega meiliklassi loomiseks käivitage järgmine käsk saatmineEmail. See loob klassi alla Rakendus \ Mail kausta.

$ php käsitöölise mark: e-posti saatmineE-post

Looge nimega vaatefail meilisõnum.tera.php kontaktvormi kuvamiseks järgmise koodiga.




Võtke meiega ühendust vorm












Võta meiega ühendust




@if (arv (vead $)> 0)



    @foreach ($ error-> all () kui $ error)
  • $ error

  • @endforeach


@endif
@if ($ message = Session :: get ('edu'))


$ message

@endif



csrf_field ()


















Avatud EmailController ja muutke koodi järgmise koodiga. The Mail fassaad ja saatmineEmail postiklassid imporditakse faili alguses. Siin, indeks () meetod laadib vaatefaili brauserisse kontakti vormi kuvamiseks. Pärast vormi esitamist saada() meetodit. See meetod kinnitab vormi valideerimisreeglite abil. The $ andmed massiivi kasutatakse väärtuste saatmiseks nimi ja sõnum väljad saatmineEmail klass. Järgmisena saadetakse meil, kasutades Mail fassaad. Peate seadistama vastuvõtja kehtiva e-posti aadressi kuni () enne koodi käivitamist. Kui e-kiri saadetakse edukalt, prinditakse edukateade.

nimeruum App \ Http \ Controllers;
kasuta Illuminate \ Http \ Request;
kasutage Illuminate \ Support \ Facades \ Mail;
kasutage rakendust \ Mail \ sendEmail;
klassi EmailController laiendab kontrollerit

funktsiooni indeks ()

tagasivaade ('emailsend');

funktsioon send (Request $ request)

$ this-> valideeri ($ request, [
'nimi' => 'nõutav',
'email' => 'nõutav | email',
'message' => 'nõutav'
]);
$ data = massiiv (
'nimi' => $ taotlus-> nimi,
'message' => $ request-> sõnum
);
Mail :: to ('Vastuvõtja e-posti aadress') -> send (uus sendEmail ($ data));
tagasi () -> koos ('edu', 'Täname, et võtsite meiega ühendust!');

Ava saatmineEmail klassi ja muutke koodi järgmise koodiga. E-posti teema on määratletud ehitama () meetod ja email_template vaadet kasutatakse järgmises etapis loodud e-posti sisu vormindamiseks. Väärtused, mis edastati EmailController on salvestatud $ e-post objekt ja need lastakse läbi email_template vaade.

nimeruum App \ Mail;
kasutage Illuminate \ Bus \ Queueable;
kasuta Illuminate \ Contracts \ Queue \ ShouldQueue;
kasuta Illuminate \ Mail \ Mailable;
kasutage Illuminate \ Queue \ SerializesModels;
klassi sendEmail laiendab Mailable'i

kasutage Queueable, SerializesModels;
/ **
* Looge uus sõnumi eksemplar.
*
* @return tühine
* /
avalikud $ meilid;
avalik funktsioon __construct ($ e-posti aadressi)

$ this-> emails = $ emails;

/ **
* Koostage sõnum.s
*
* @return $ see
* /
avaliku funktsiooni ülesehitamine ()

tagastage $ this-> subjekt ('Külastaja sõnum')
-> vaade ('email_template')
-> koos ('meilid', $ see-> meilid);

Looge mallivaate fail nimega email_template.tera.php järgmise koodiga vormindatud meili saatjale saatmiseks. Väärtused, mis edastati saatmineEmail klassi kasutatakse selles mallis.

Tere,
Ma olen $ $ emails ['nimi']


Minu päring on seotud järgmise teemaga:


$ $ emails ['message'].


Sellest on abi, kui annate mulle varsti vastuse.Aitäh.

Nüüd avage võrk.php fail ja lisage järgmine marsruudi kood kontaktivormi avamiseks ja e-kirja saatmiseks.

Marsruut :: get ('/ contact', '[email protected]');
Marsruut :: post ('/ sendemail / send', '[email protected]');

Kontaktivormi laadimiseks käivitage brauseris järgmine URL.

http: // localhost / laravelpro / public / contact

Täitke vorm ja klõpsake nuppu Saada sõnum nupp vormi sisu saatmiseks saada() meetod EmailController klass.

Kui e-kiri on edukalt saadetud, saate edusõnumi, nagu on näidatud järgmisel pildil.

Nüüd avage Gmaili konto, mida kasutasite e-posti aadressi saatmiseks saada() meetod EmailController klass. Kui avate e-kirja, saate järgmise e-posti sisu, mis on loodud email_template Vaata faili.

Videoõpetus

Järeldus

Laraveli raamistikus on e-kirjade saatmiseks mitu võimalust. Selles õpetuses on toodud kõige lihtsam ja lihtsam viis Laravelis meilisõnumite saatmiseks. Kui teil on Gmaili konto, saate hõlpsalt meili saata, järgides selles õpetuses näidatud samme. Gmaili SMTP-serverit kasutatakse siin meili saatmiseks ja e-posti saatmise ülesannet testitakse, käivitades koodi kohalikust serverist. Selles õpetuses kuvatakse ainult HTML-vormingus e-posti saatmise ülesanded. Võite teha ka muid toiminguid, nagu faili manus, saatja nimi jne., kasutades muid programmi Mail klass.

Kommertsmängumootorite avatud lähtekoodiga sadamad
Tasuta, avatud lähtekoodiga ja platvormidevaheliste mängumootorite puhkusereise saab kasutada nii vanade kui ka mõnede üsna hiljutiste mängude pealkir...
Parimad Linuxi käsurea mängud
Käsurida pole Linuxi kasutamisel lihtsalt teie suurim liitlane - see võib olla ka meelelahutusallikas, sest saate seda kasutada paljude lõbusate mängu...
Parimad Linuxi mängupuldi kaardistamise rakendused
Kui teile meeldib mängida Linuxis mänge tavalise klaviatuuri ja hiire sisestussüsteemi asemel mängupuldiga, on teie jaoks mõned kasulikud rakendused. ...