laravel

Pošaljite e-poštu u Laravelu koristeći SMTP

Pošaljite e-poštu u Laravelu koristeći SMTP
Slanje e-pošte čest je uvjet za bilo koju web aplikaciju. Neke opće upotrebe slanja e-pošte uključuju provjeru registracije korisnika, dobivanje povratnih informacija od korisnika, pružanje mogućnosti kontaktiranja administratora web mjesta itd. Okvir Laravel sadrži nekoliko paketa za slanje e-pošte iz projekta Laravel. SMTP, Mailgun, Postmark i Amazon SES koriste se u Laravelu za slanje jednostavnih, transakcijskih i skupnih e-poruka. Laravel ima biblioteku za slanje e-pošte nazvanu SwiftMailer za slanje e-pošte s predloškom e-pošte. Ovaj vam vodič pokazuje kako poslati jednostavnu e-poštu pomoću SMTP-a.

Postavljanje i konfiguracija SMTP-a

Otvori .env datoteku iz korijenske mape projekta Laravel i postavite konfiguraciju prema vašem Gmail računu. Morate omogućiti "Manje sigurna aplikacija"Opcija vašeg Gmail računa za slanje e-pošte putem Gmail SMTP poslužitelja.

MAIL_MAILER = smtp
MAIL_HOST = smtp.gmail.com
MAIL_PORT = 465
MAIL_USERNAME = YOUR_EMAIL_ADDRESS
MAIL_PASSWORD = VAŠA_PASSWORD
MAIL_ENCRYPTION = ssl

***Bilješka:

Možda ćete primiti pogrešku SMTP provjere autentičnosti tijekom slanja e-pošte putem SMTP poslužitelja Gmail računa. Otvori StreamBuffer.php datoteku sa sljedećeg mjesta.

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

Pronađi i zamijeni liniju 259 sljedećim redom za provjeru autentičnosti Gmail SMTP poslužitelja.

$ options ['ssl'] = array ('verify_peer' => false, 'verify_peer_name' => false,
'allow_self_signed' => true);

Slanje e-pošte pomoću SMTP-a

Izvršite sljedeće korake za slanje e-pošte pomoću obrasca za kontakt stvaranjem kontrolera, prikaza i klase pošte.

Koraci:

Pokrenite sljedeću naredbu s terminala za stvaranje EmailController za prikaz obrasca za kontakt i slanje e-pošte pomoću klase pošte Laravel.

$ php artisan make: kontroler EmailController

Pokrenite sljedeću naredbu da biste stvorili klasu pošte s imenom slanjeE-maila. Ovo će stvoriti razred pod App \ Mail mapu.

$ php artisan make: slanje pošteEmail

Stvorite datoteku prikaza s imenom e-mail.oštrica.php sa sljedećim kodom za prikaz obrasca za kontakt.




Obratite nam se obrazac












Kontaktirajte nas




@if (count ($ pogrešaka)> 0)



    @foreach ($ error-> all () kao $ error)
  • $ pogreška

  • @endforeach


@završi ako
@if ($ message = Session :: get ('uspjeh'))


$ poruka

@završi ako



csrf_field ()


















Otvorena EmailController i izmijenite kod sljedećim kodom. The Mail fasada i slanjeE-maila klase pošte uvoze se na početku datoteke. Evo, indeks() metoda učitava datoteku prikaza u preglednik za prikaz obrasca za kontakt. Nakon podnošenja obrasca, poslati() pozvat će se metoda. Ova će metoda provjeriti valjanost obrasca pomoću pravila provjere valjanosti. The $ podataka polje se koristi za slanje vrijednosti Ime i poruka polja u slanjeE-maila razred. Dalje, e-pošta se šalje pomoću Mail fasada. Morate postaviti važeću e-adresu primatelja u do() prije izvršavanja koda. Ako se e-pošta uspješno pošalje, ispisat će se poruka o uspjehu.

prostor imena App \ Http \ Controllers;
koristite Illuminate \ Http \ Request;
koristite Illuminate \ Support \ Facades \ Mail;
koristiti App \ Mail \ sendEmail;
klasa EmailController proširuje Controller

indeks funkcije ()

povratni prikaz ('emailsend');

slanje funkcije (zatraži $ zahtjev)

$ this-> validate ($ zahtjev, [
'name' => 'potrebno',
'email' => 'obavezno | email',
'message' => 'potrebno'
]);
$ podataka = niz (
'name' => $ request-> name,
'message' => $ request-> poruka
);
Mail :: na ('Adresa e-pošte primatelja') -> pošalji (novi sendEmail ($ podaci));
return back () -> with ('success', 'Hvala što ste nas kontaktirali!');

Otvori slanjeE-maila klase i izmijenite kod sljedećim kodom. Predmet e-pošte definiran je unutar izgraditi() metoda i predložak_e-pošte pogled koristi se za formatiranje sadržaja e-pošte stvorenog u sljedećem koraku. Vrijednosti proslijeđene iz EmailController su pohranjeni u $ e-mail objekt i predaju se u predložak_e-pošte pogled.

prostor imena App \ Mail;
koristite Illuminate \ Bus \ Queueable;
koristite Illuminate \ Contracts \ Queue \ ShouldQueue;
koristite Illuminate \ Mail \ Mavable;
koristite Illuminate \ Queue \ SerializesModels;
predavanje klaseEmail proširuje se Dostupno

koristiti Queueable, SerializesModels;
/ **
* Stvorite novu instancu poruke.
*
* @povratak prazan
* /
javne $ e-adrese;
javna funkcija __construct ($ e-pošte)

$ this-> e-mail = $ e-mail;

/ **
* Izgradite poruku.s
*
* @vrati $ ovo
* /
build javne funkcije ()

return $ this-> subject ('Poruka od posjetitelja')
-> pogled ('predložak_e-pošte')
-> with ('e-mailovi', $ this-> e-mailovi);

Stvorite datoteku prikaza predloška s imenom predložak_e-pošte.oštrica.php sa sljedećim kodom za slanje formatirane e-pošte pošiljatelju. Vrijednosti proslijeđene iz slanjeE-maila klase koriste se u ovom predlošku.

zdravo,
Ja sam $ e-adrese ['name']


Moj upit odnosi se na sljedeću temu:


$ e-adrese ['poruka'].


Bilo bi korisno ako mi uskoro odgovorite.Hvala vam.

Sada otvorite mreža.php datoteku i dodajte sljedeći kôd rute da biste otvorili obrazac za kontakt i poslali e-poštu.

Route :: get ('/ kontakt', '[zaštićen e-poštom]');
Ruta :: post ('/ sendemail / send', '[e-mail zaštićen]');

Pokrenite sljedeći URL iz preglednika da biste učitali obrazac za kontakt.

http: // localhost / laravelpro / public / contact

Ispunite obrazac i kliknite na Pošalji poruku gumb za slanje sadržaja obrasca na poslati() metoda EmailController razred.

Ako je e-pošta uspješno poslana, dobit ćete poruku o uspjehu, kao što je prikazano na sljedećoj slici.

Sada otvorite Gmail račun koji ste koristili za slanje e-pošte u poslati() metoda EmailController razred. Ako otvorite e-poštu, dobit ćete sljedeći sadržaj e-pošte generiran pomoću predložak_e-pošte Pogledaj datoteku.

Video vodič

Zaključak

U okviru Laravel postoji više načina za slanje e-pošte. Najjednostavniji i najjednostavniji način slanja e-pošte u Laravelu prikazan je u ovom vodiču. Ako imate Gmail račun, tada lako možete poslati e-poštu slijedeći korake prikazane u ovom vodiču. Ovdje se za slanje e-pošte koristi Gmail SMTP poslužitelj, a zadatak slanja e-pošte testira se pokretanjem koda s lokalnog poslužitelja. Ovaj vodič prikazuje samo zadatke slanja e-pošte u HTML formatu. Također možete obavljati i druge zadatke, poput privitka datoteke, imena pošiljatelja itd., korištenjem drugih metoda Mail razred.

Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...
Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...
Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...