Problem
Laravel-applikasjonen din vil sannsynligvis kunne kommunisere med brukerne dine via e-post.
Det er mange hindringer og utfordringer ved koding av en e-postmal for Laravel. Det mest tidkrevende er å sørge for at e-postmalen din fungerer bra og ser ut slik du forventet at den skulle se ut.
Åpenbart kan du registrere en ny Gmail-konto og opprette en app med Gmail. Det vil gi deg ekte e-postlevering som du for eksempel kan sjekke på telefonen din.
Problemet her er hvis du jobber med en ekte database, og du ikke har råd til å sende ut test-e-post til dine virkelige brukere. Hvis dette er det som bugger deg, har jeg noen gode nyheter for deg.
Løsning
Som sagt er det største problemet her at du ikke har råd til å teste på virkelige brukere. Det kan bli en stor kilde til frustrasjon for brukerne dine, og det er bare et par ganger du kan gjøre det før de forlater applikasjonen for godt.
Min favoritt måte å teste Laravel e-postmaler på er å bruke denne tjenesten kalt MailTrap.io. Måten MailTrap fungerer på er akkurat som det høres ut, den fanger opp og fanger e-posten på serveren sin, og lar den ikke gå til sluttbrukeren din.
Jeg tror det er viktig å si at MailTrap i utgangspunktet er et premiumverktøy som du kan bruke gratis. Freemium-modellen lar deg motta 500 (nylig endret fra 50) e-poster maksimalt. Du kan imidlertid enkelt slette disse og bare fortsette å bruke dem om og om igjen.
Med dette får du teste e-postdesignet ditt, og samtidig kan du faktisk se hvem det gikk til, noe som du ikke kan gjøre med Gmail-kontoen din.
Som du vet, starteren .env-fil som du får med Laravel inkluderer variabler slik at du kan koble SMTP-serveren din, og det ser slik ut:
MAIL_DRIVER = smtpMAIL_HOST = smtp.posttrap.io
MAIL_PORT = 2525
MAIL_USERNAME = null
MAIL_PASSWORD = null
MAIL_ENCRYPTION = null
Det du vil gjøre er å gå over til MailTrap.io og samle den manglende informasjonen, for eksempel brukernavn og passord.
De vil gi deg dette fra dashbord siden.
Når du har angitt disse dataene i din .env-fil, må du oppdatere config: cache ved å kjøre php artisan config: cache .
Denne konfigurasjonen er knyttet til Laravels kjernelevering av e-post, noe som betyr at den fungerer som en systemleverings-e-post. Så ethvert varsel som går ut fra Laravel-applikasjonen, vil bruke denne SMTP-serveren til å levere e-postene dine.
Det som er bra med det betalte alternativet, er at det gir deg muligheten til å videresende den e-posten til en ekte e-postadresse i tilfelle du for eksempel vil sjekke det.
Og dette er et annet tips jeg vil dele. Microsoft Outlook, og jeg snakker om skrivebordsprogrammet, har en tendens til å ødelegge e-postdesignet ditt i tilfelle du prøver å gå utenfor det vanlige, vanlige brukergrensesnittet. Og jeg har opplevd dette selv der vi i utgangspunktet testet e-post ved å levere dem til Gmail-kontoer og bruke nettleseren til å slå opp e-post. Imidlertid hadde et av teammedlemmene et syn som testet e-postene deres, og vi så en drastisk endring i design.
Så MailTrap vil hjelpe deg mye i tilfelle du trenger å teste e-postdesignet ditt eller bare hele leveringssystemet og er min gode tjeneste når du arbeider med e-post i utviklingsfasen.