Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Ko izdelujete aplikacije, boste morali pošiljati e-pošto za različne namene, od obvestil do preverjanja pristnosti in še veliko več. Go zagotavlja smtp in pošta paketov v svoji standardni knjižnici za pošiljanje e-pošte. V ekosistemu Go je tudi veliko e-poštnih paketov tretjih oseb.

Zaradi vgrajenih poštnih paketov je pošiljanje e-pošte zapletena naloga. Če niste razvijalec aplikacij na strani strežnika, boste morda našli smtp in pošta paketi, ki jih je težko uporabljati in konfigurirati.

Ena priljubljena alternativa je Jordan Wright E-naslov paket, ki abstrahira kompleksnost pošiljanja pošte. Doda tudi funkcije, ki jih ne boste našli v smtp in pošta paketi.

Začetek uporabe e-poštnega paketa

The E-naslov paket je lahka, robustna in prilagodljiva knjižnica, priljubljena zaradi svoje preprostosti. Z le nekaj vrsticami kode lahko ustvarite in pošljete e-pošto s priponkami, vsebino HTML in drugim. Paket podpira tudi napredne funkcije, kot so varne povezave SMTP in več prejemnikov, zaradi česar je vsestransko orodje za vaše potrebe po e-pošti.

instagram viewer

E-poštni paket podpira tudi polja CC in BCC, e-poštne naslove v več oblikah, potrdila o branju in glave po meri.

Ker paket ni vgrajen v standardno knjižnico Go, ga boste morali namestiti z Pojdi iskat ukaz. E-poštni paket podpira Go različice 1.15 in novejše.

Zaženite ta ukaz, da namestite paket v odvisnosti vašega projekta po inicializaciji novega projekta.

pojdi dobite github.com/jordan-wright/email

Ko namestite e-poštni paket, ga lahko uvozite tako, da določite lokacijo glede na svojo namestitveno pot:

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

Uporabili boste fmt paket za tiskanje izhoda na konzolo in smtp paket za namene preverjanja pristnosti.

Pošiljanje pošte z e-poštnim paketom

Za shranjevanje podatkov za vašo pošto boste morali prijaviti spremenljivke. Navedite spremenljivke za svoj e-poštni naslov in geslo.

pošta := "vaš e-poštni naslov"
geslo := "vaše geslo za aplikacijo"

Geslo lahko kodirate oz uporabite datoteko spremenljivke okolja za izboljšano varnost.

The pošta in geslo spremenljivke morajo vsebovati vaš e-poštni naslov in geslo.

Navesti boste morali spremenljivke za naslov gostitelja in številko vrat za pošto. Tukaj sta naslov gostitelja in številka vrat za pošto Yahoo:

naslov gostitelja := "smtp.mail.yahoo.com"
gostiteljska vrata := "465"

Prav tako boste morali ustvariti nov primerek e-pošte za pošiljanje e-pošte z E-naslov paket. Uporabite lahko metodo NewEmail E-naslov paket za inicializacijo e-poštnega primerka za vašo pošto:

nov e-poštni naslov := e-poštni naslov. Nova elektronska pošta()

The Nova elektronska pošta metoda vrne primerek strukture, ki ga lahko spremenite za elemente svojega e-poštnega sporočila.

Lahko uporabite Od in Za polja strukture za dodajanje e-poštnih sporočil pošiljatelja in prejemnika v primerek e-pošte.

nova elektronska pošta. Od = pošta
nova elektronska pošta. Za = []vrvica{"seznam prejemnikov"}

The Za polje je del nizov z neomejeno zmogljivostjo, ki ga lahko uporabite za deklaracijo vseh svojih naslovov prejemnikov.

Lahko dodate CC in BCC polja vašega e-poštnega naslova z uporabo Skp in Kp polja instance strukture:

nova elektronska pošta. Skp = []vrvica{"seznam skp"}
nova elektronska pošta. Kp = []vrvica{"seznam cc"}

Za vsebino e-pošte lahko dodate zadevo in besedilno vsebino e-pošte z uporabo Predmet in Besedilo polja strukture. Zadeva je nizovno polje, besedilna vsebina pa bajtna rezina.

nova elektronska pošta. Zadeva = "Zadeva e-pošte"
nova elektronska pošta. Besedilo = []bajt("Telo vašega e-poštnega sporočila")

Ko dodate vsa zahtevana polja, lahko pošljete e-pošto z uporabo Pošlji način vašega e-poštnega primerka. The Pošlji metoda vzame naslov gostitelja, številko vrat gostitelja in primerek smtp paketi PlainAuth.

napaka := nov e-poštni naslov. Pošlji (
fmt. Sprintf("%s:%s", naslov gostitelja, vrata gostitelja),
smtp. PlainAuth("", pošta, geslo, naslov gostitelja)
)

če napaka!= nič {
fmt. Println("Pri pošiljanju pošte je prišlo do napake")
} drugače {
fmt. Println("Pošta je bila uspešno poslana")
}

The Pošlji metoda vrne napako, ki jo lahko obravnavate oz nič če ni napak.

Uspešno ste poslali pošto z E-naslov paket z manj vrsticami, kot bi jim morali pisati pošljite pošto z smtp paket.

Pošiljate lahko pošto z vgrajenim paketom SMTP

Go je dobro načrtovan jezik, saj je njegova standardna knjižnica opremljena z večino funkcij, ki jih boste potrebovali za izdelavo popolnih spletnih aplikacij brez zunanjih odvisnosti ali paketov tretjih oseb.

The smtp Paket je uporaben za pošiljanje e-pošte prek različnih storitev s podobnimi funkcijami kot E-naslov paket.