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.
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.