Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Dok izrađujete aplikacije, morat ćete slati e-poštu za različite svrhe, od obavijesti do provjere autentičnosti i još mnogo toga. Go pruža smtp i pošta pakete u svojoj standardnoj biblioteci za slanje e-pošte. U ekosustavu Go također postoji mnogo paketa e-pošte trećih strana.

Ugrađeni paketi e-pošte čine slanje e-pošte složenim zadatkom. Ako niste programer aplikacija na strani poslužitelja, možda ćete pronaći smtp i pošta paketi teški za korištenje i konfiguraciju.

Jedna popularna alternativa je Jordan Wright elektronička pošta paket koji apstrahira složenost slanja pošte. Također dodaje značajke koje nećete pronaći u smtp i pošta paketi.

Početak rada s paketom e-pošte

The elektronička pošta paket je lagana, robusna i fleksibilna biblioteka, popularna zbog svoje jednostavnosti. Sa samo nekoliko redaka koda možete izraditi i poslati e-poštu s privicima, HTML sadržajem i više. Paket također podržava napredne značajke kao što su sigurne SMTP veze i višestruki primatelji, što ga čini svestranim alatom za vaše potrebe e-pošte.

Paket e-pošte također podržava polja CC i BCC, adrese e-pošte u više formata, potvrde o čitanju i prilagođena zaglavlja.

Budući da paket nije ugrađen u standardnu ​​biblioteku Go, morat ćete ga instalirati s idi po naredba. Paket e-pošte podržava Go verzije 1.15 i novije.

Pokrenite ovu naredbu da instalirate paket na ovisnosti vašeg projekta nakon pokretanja novog projekta.

ići dobiti github.com/jordan-wright/email

Nakon što ste instalirali paket e-pošte, možete ga uvesti tako da navedete lokaciju u odnosu na vaš instalacijski put:

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

Vi ćete koristiti fmt paket za ispis izlaza na konzolu i smtp paket za potrebe provjere autentičnosti.

Slanje pošte s paketom e-pošte

Morat ćete deklarirati varijable za pohranu podataka za svoju poštu. Deklarirajte varijable za svoju e-poštu i lozinku.

pošta := "tvoj email"
lozinka := "vaša zaporka aplikacije"

Možete kodirati lozinku ili koristiti datoteku varijable okruženja za poboljšanu sigurnost.

The pošta i lozinka varijable bi trebale sadržavati vašu e-poštu i lozinku.

Morat ćete deklarirati varijable za adresu glavnog računala i broj porta za poštu. Ovdje su adresa hosta i broj porta za Yahoo mail:

adresa hosta := "smtp.mail.yahoo.com"
hostPort := "465"

Također ćete morati stvoriti novu instancu e-pošte za slanje e-pošte s elektronička pošta paket. Možete koristiti NewEmail metodu elektronička pošta paket za pokretanje instance e-pošte za vašu poštu:

nova e-pošta := e-pošta. Novi e-mail()

The Novi e-mail metoda vraća instancu strukture koju možete modificirati za elemente svoje e-pošte.

Možete koristiti Iz i Do polja strukture za dodavanje e-poruka pošiljatelja i primatelja vašoj instanci e-pošte.

novi e-mail. Od = pošta
novi e-mail. Za = []niz{"popis primatelja"}

The Do polje je isječak nizova s ​​neograničenim kapacitetom koji možete koristiti za deklariranje svih adresa primatelja.

Možete dodati CC i BCC polja vaše e-pošte pomoću Bcc i Kopija polja instance strukture:

novi e-mail. Bcc = []niz{"popis skrivenih kopija"}
novi e-mail. Cc = []niz{"popis cc"}

Za sadržaj e-pošte možete dodati predmet i tekstualni sadržaj svoje e-pošte koristeći Predmet i Tekst polja strukture. Predmet je polje niza, a sadržaj teksta je isječak bajta.

novi e-mail. Predmet = "Predmet e-pošte"
novi e-mail. Tekst = []bajt("Tijelo vaše e-pošte")

Nakon što ste dodali sva potrebna polja, možete poslati e-poštu pomoću Poslati metoda vaše instance e-pošte. The Poslati metoda uzima adresu glavnog računala, broj priključka glavnog računala i instancu smtp paketa PlainAuth.

pogreška := nova e-pošta. Poslati(
fmt. Sprintf("%s:%s", adresa hosta, port hosta),
smtp. PlainAuth("", pošta, lozinka, adresa hosta)
)

ako pogriješiti != nula {
fmt. Println("Došlo je do pogreške prilikom slanja pošte")
} drugo {
fmt. Println("Pošta je uspješno poslana")
}

The Poslati metoda vraća pogrešku koju možete riješiti ili nula ako nema grešaka.

Uspješno ste poslali e-poštu s elektronička pošta paket s manje redaka nego što biste morali pisati poslati mail s smtp paket.

Možete slati poštu pomoću ugrađenog SMTP paketa

Go je dobro isplaniran jezik budući da se njegova standardna biblioteka isporučuje s većinom funkcionalnosti koje će vam trebati za izgradnju kompletnih web aplikacija bez vanjskih ovisnosti ili paketa trećih strana.

The smtp Paket je zgodan za slanje e-pošte preko raznih servisa sa sličnim funkcijama elektronička pošta paket.