Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon. Les mer.

Når du bygger apper, må du sende e-post til forskjellige formål, fra varsler til autentisering og mange flere. Go gir smtp og post pakker i standardbiblioteket for å sende e-post. Det er også mange tredjeparts e-postpakker i Go-økosystemet.

De innebygde postpakkene gjør det å sende e-post til en kompleks oppgave. Hvis du ikke er en applikasjonsutvikler på serversiden, kan du finne smtp og post pakker som er vanskelige å bruke og konfigurere.

Et populært alternativ er Jordan Wrights e-post pakke som abstraherer kompleksiteten ved å sende post. Den legger også til funksjoner du ikke finner i smtp og post pakker.

Komme i gang med e-postpakken

De e-post pakken er et lett, robust og fleksibelt bibliotek, populært for sin enkelhet. Med bare noen få linjer med kode kan du opprette og sende en e-post med vedlegg, HTML-innhold og mer. Pakken støtter også avanserte funksjoner som sikre SMTP-tilkoblinger og flere mottakere, noe som gjør den til et allsidig verktøy for dine e-postbehov.

instagram viewer

E-postpakken støtter også CC- og BCC-felt, e-postadresser i flere formater, lesebekreftelser og egendefinerte overskrifter.

Siden pakken ikke er innebygd i Go-standardbiblioteket, må du installere den med gå og hent kommando. E-postpakken støtter Go versjon 1.15 og nyere.

Kjør denne kommandoen for å installere pakken til prosjektets avhengigheter etter initialisering av et nytt prosjekt.

 skaff deg github.com/jordan-wright/email

Når du har installert e-postpakken, kan du importere den ved å spesifisere plasseringen i forhold til installasjonsbanen:

import (
"fmt"
"github.com/jordan-wright/email"
"net/smtp"
)

Du vil bruke fmt pakke for å skrive ut til konsollen og smtp pakke for autentiseringsformål.

Sende e-poster med e-postpakken

Du må deklarere variabler for å lagre dataene for e-posten din. Deklarer variabler for e-post og passord.

mail := "din epost"
passord := "app-passordet ditt"

Du kan hardkode passordet eller bruk en miljøvariabelfil for økt sikkerhet.

De post og passord variabler skal inneholde henholdsvis e-post og passord.

Du må deklarere variabler for vertsadressen og portnummeret for posten. Her er vertsadressen og portnummeret for Yahoo-post:

vertsadresse := "smtp.mail.yahoo.com"
hostPort := "465"

Du må også opprette en ny e-postforekomst for å sende e-poster med e-post pakke. Du kan bruke NewEmail-metoden til e-post pakke for å initialisere en e-postforekomst for e-posten din:

nyE-post := e-post. Ny epost()

De Ny epost metoden returnerer en struct-forekomst som du kan endre for elementene i e-posten din.

Du kan bruke Fra og Til feltene i strukturen for å legge til avsenderens og mottakerens e-post til e-postforekomsten din.

ny epost. Fra = mail
ny epost. Til = []streng{"liste over mottakere"}

De Til felt er et stykke strenger med ubegrenset kapasitet som du kan bruke til å deklarere alle mottakeradressene dine.

Du kan legge til CC og BCC feltene i e-posten din ved å bruke Blindkopi og Kopi felt i struct-forekomsten:

ny epost. Blindkopi = []streng{"liste over blindkopi"}
ny epost. Kopi = []streng{"liste over cc"}

For innholdet i e-posten kan du legge til emnet og tekstinnholdet i e-posten din ved å bruke Emne og Tekst feltene til strukturen. Emnet er et strengfelt, og tekstinnholdet er et bytestykke.

ny epost. Emne = "E-postemnet"
ny epost. Tekst = []byte("Bruk av e-posten din")

Etter at du har lagt til alle de obligatoriske feltene, kan du sende e-posten ved å bruke Sende metoden for e-postforekomsten din. De Sende metoden tar inn vertsadressen, vertsportnummeret og en forekomst av smtp pakkens PlainAuth.

feil := ny e-post. Sende(
fmt. Sprintf("%s:%s", vertsadresse, vertsport),
smtp. PlainAuth("", e-post, passord, vertsadresse)
)

hvis feil!= null {
fmt. Println("Det oppsto en feil under sending av e-post")
} ellers {
fmt. Println("E-posten ble sendt")
}

De Sende metoden returnerer en feil du kan håndtere eller null hvis det ikke er feil.

Du har sendt en e-post med e-post pakke med færre linjer enn du må skrive til send en mail med smtp pakke.

Du kan sende e-post med den innebygde SMTP-pakken

Go er et godt planlagt språk siden standardbiblioteket leveres med de fleste funksjonene du trenger for å bygge komplette webapplikasjoner uten eksterne avhengigheter eller tredjepartspakker.

De smtp pakken kommer godt med for å sende e-poster over ulike tjenester med lignende funksjoner som e-post pakke.