laravel

Posílejte e-maily laravel pomocí SMTP

Posílejte e-maily laravel pomocí SMTP
Odeslání e-mailu je běžným požadavkem každé webové aplikace. Některá obecná použití odesílání e-mailů zahrnují ověřování registrace uživatelů, získávání zpětné vazby od uživatelů, poskytování možností kontaktovat správce webu atd. Rámec Laravel obsahuje několik balíčků pro odesílání e-mailů z projektu Laravel. SMTP, Mailgun, Postmark a Amazon SES se v Laravelu používají k odesílání jednoduchých, transakčních a hromadných e-mailů. Laravel má knihovnu pro odesílání e-mailů s názvem SwiftMailer pro odesílání e-mailů s e-mailovou šablonou. Tento výukový program vám ukáže, jak odeslat jednoduchý e-mail pomocí protokolu SMTP.

Nastavení a konfigurace SMTP

Otevři .env soubor z kořenové složky projektu Laravel a nastavte konfiguraci podle svého účtu Gmail. Musíte povolitMéně zabezpečená aplikace”Možnost vašeho účtu Gmail odeslat e-mail pomocí serveru SMTP služby Gmail.

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

***Poznámka:

Při odesílání e-mailů pomocí serveru účtů SMTP Gmail se může zobrazit chyba ověření SMTP. Otevři StreamBuffer.php soubor z následujícího umístění.

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

Najděte a vyměňte řádek 259 s následujícím řádkem k ověření serveru SMTP služby Gmail.

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

Odesílání e-mailů pomocí protokolu SMTP

Pomocí následujících kroků odešlete e-mail pomocí kontaktního formuláře vytvořením kontroleru, zobrazení a třídy pošty.

Kroky:

Spuštěním následujícího příkazu z terminálu vytvořte EmailController zobrazit kontaktní formulář a odeslat e-mail pomocí třídy pošty Laravel.

$ php artisan make: controller EmailController

Spuštěním následujícího příkazu vytvořte třídu pošty s názvem zasíláníEmail. Tím se vytvoří třída pod App \ Mail složku.

$ php řemeslník make: mail mailEmail

Vytvořte soubor pohledu s názvem odeslat e-mailem.čepel.php s následujícím kódem pro zobrazení kontaktního formuláře.




Kontaktujte nás












Kontaktujte nás




@if (počet (chyby $)> 0)



    @foreach ($ errors-> all () jako $ error)
  • $ error

  • @endforeach


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


$ message

@endif



csrf_field ()


















Otevřeno EmailController a upravte kód pomocí následujícího kódu. The Pošta fasáda a zasíláníEmail třídy pošty se importují na začátek souboru. Tady index() metoda načte soubor zobrazení v prohlížeči a zobrazí kontaktní formulář. Po odeslání formuláře se zobrazí poslat() metoda bude volána. Tato metoda ověří formulář pomocí ověřovacích pravidel. The $ data pole se používá k odeslání hodnot souboru název a zpráva pole do zasíláníEmail třída. Dále je e-mail odeslán pomocí Pošta fasáda. Musíte zadat platnou e-mailovou adresu příjemce v na() funkce před spuštěním kódu. Pokud se e-mail odešle úspěšně, vytiskne se zpráva o úspěchu.

jmenný prostor App \ Http \ Controllers;
použijte Illuminate \ Http \ Request;
použijte Illuminate \ Support \ Fasády \ Mail;
použijte App \ Mail \ sendEmail;
třída EmailController rozšiřuje Controller

index funkce ()

zpětné zobrazení ('emailsend');

funkce odeslat (požadavek $ požadavek)

$ this-> validate ($ request, [
'name' => 'required',
'email' => 'required | email',
'message' => 'required'
]);
$ data = pole (
'name' => $ request-> name,
'message' => $ request-> zpráva
);
Mail :: to ('Receiver Email Address') -> send (new sendingEmail ($ data));
návrat zpět () -> s ('úspěch', 'Děkujeme, že jste nás kontaktovali!');

Otevři zasíláníEmail třídy a upravte kód pomocí následujícího kódu. Předmět e-mailu je definován uvnitř stavět() metoda a email_template view slouží k formátování obsahu e-mailu vytvořeného v dalším kroku. Hodnoty předané z EmailController jsou uloženy v $ email objekt a jsou předány v email_template Pohled.

jmenný prostor App \ Mail;
použijte Illuminate \ Bus \ Queueable;
použijte Illuminate \ Contracts \ Queue \ ShouldQueue;
použijte Illuminate \ Mail \ Mailable;
použijte Illuminate \ Queue \ SerializesModels;
Třída odesílání e-mailů rozšiřuje Mailable

používat Queueable, SerializesModels;
/ **
* Vytvořte novou instanci zprávy.
*
* @return void
* /
veřejné $ e-maily;
veřejná funkce __construct ($ e-maily)

$ this-> emails = $ emails;

/ **
* Sestavte zprávu.s
*
* @return $ this
* /
veřejná funkce build ()

vrátit $ this-> předmět ('Zpráva od návštěvníka')
-> view ('email_template')
-> with ('emails', $ this-> emails);

Vytvořte soubor zobrazení šablony s názvem email_template.čepel.php s následujícím kódem k odeslání formátovaného e-mailu odesílateli. Hodnoty předané z zasíláníEmail třídy jsou použity v této šabloně.

Ahoj,
jsem $ e-maily ['name']


Můj dotaz se týká následujícího tématu:


$ emails ['message'].


Bude užitečné, pokud mi brzy odpovíte.Děkuju.

Nyní otevřete web.php do souboru a přidáním následujícího kódu trasy otevřete kontaktní formulář a odešlete e-mail.

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

Spusťte následující adresu URL z prohlížeče a načtěte kontaktní formulář.

http: // localhost / laravelpro / public / contact

Vyplňte formulář a klikněte na Poslat zprávu tlačítko pro odeslání obsahu formuláře do poslat() metoda EmailController třída.

Pokud je e-mail úspěšně odeslán, obdržíte zprávu o úspěchu, jak je znázorněno na následujícím obrázku.

Nyní otevřete účet Gmail, který jste použili k odeslání e-mailu v poslat() metoda EmailController třída. Pokud otevřete e-mail, získáte následující obsah e-mailu vygenerovaný pomocí email_template prohlédnout soubor.

Výukový program pro video

Závěr

V rámci Laravelu existuje několik způsobů odesílání e-mailů. Nejjednodušší a nejjednodušší způsob odesílání e-mailů v Laravelu je uveden v tomto výukovém programu. Pokud máte účet Gmail, můžete snadno poslat e-mail podle pokynů uvedených v tomto kurzu. Zde se k odesílání e-mailů používá server SMTP služby Gmail a úloha odesílání e-mailů se testuje spuštěním kódu z místního serveru. Tento výukový program zobrazuje pouze úkoly odesílání e-mailů ve formátu HTML. Můžete také provádět další úkoly, například přílohu souboru, jméno odesílatele atd., použitím jiných metod Pošta třída.

Hry Jak zvýšit FPS v Linuxu?
Jak zvýšit FPS v Linuxu?
FPS znamená Snímků za sekundu. Úkolem FPS je měřit snímkovou frekvenci při přehrávání videa nebo herních výkonech. Jednoduše řečeno, počet nepřerušova...
Hry Nejlepší hry Oculus App Lab
Nejlepší hry Oculus App Lab
Pokud jste vlastníkem náhlavní soupravy Oculus, musíte mít informace o bočním nakládání. Sideloading je proces instalace neukládaného obsahu do náhlav...
Hry Top 10 her k hraní na Ubuntu
Top 10 her k hraní na Ubuntu
Platforma Windows byla jednou z dominujících platforem pro hraní her kvůli velkému procentu her, které se dnes vyvíjejí, aby nativně podporovaly Windo...