Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Veidojot lietotnes, jums būs jānosūta e-pasta ziņojumi dažādiem mērķiem, sākot no paziņojumiem līdz autentifikācijai un daudz ko citu. Go nodrošina smtp un pastu pakotnes savā standarta bibliotēkā e-pasta sūtīšanai. Go ekosistēmā ir arī daudzas trešās puses e-pasta pakotnes.

Iebūvētās pasta pakotnes padara e-pasta sūtīšanu par sarežģītu uzdevumu. Ja neesat servera puses lietojumprogrammu izstrādātājs, iespējams, atradīsit smtp un pastu sarežģīti lietot un konfigurēt pakotnes.

Viena populāra alternatīva ir Jordan Wright's e-pasts pakotne, kas abstrahē pasta sūtīšanas sarežģītību. Tas arī pievieno funkcijas, kuras neatradīsit smtp un pastu iepakojumiem.

Darba sākšana ar e-pasta paketi

The e-pasts pakete ir viegla, izturīga un elastīga bibliotēka, kas ir populāra tās vienkāršības dēļ. Izmantojot tikai dažas koda rindiņas, varat izveidot un nosūtīt e-pasta ziņojumu ar pielikumiem, HTML saturu un daudz ko citu. Pakete atbalsta arī uzlabotas funkcijas, piemēram, drošus SMTP savienojumus un vairākus adresātus, padarot to par daudzpusīgu rīku jūsu e-pasta vajadzībām.

instagram viewer

E-pasta pakotne atbalsta arī CC un BCC laukus, e-pasta adreses vairākos formātos, lasīšanas kvītis un pielāgotas galvenes.

Tā kā pakotne nav iebūvēta Go standarta bibliotēkā, jums tā būs jāinstalē, izmantojot iet saņemt komandu. E-pasta pakotne atbalsta Go versijas 1.15 un jaunākas.

Palaidiet šo komandu, lai pēc jauna projekta inicializācijas instalētu pakotni sava projekta atkarībā.

aiziet iegūstiet vietni github.com/jordan-wright/email

Kad esat instalējis e-pasta pakotni, varat to importēt, norādot atrašanās vietu saistībā ar instalācijas ceļu:

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

Jūs izmantosit fmt pakotne, lai izdrukātu izvadi uz konsoli un smtp pakotni autentifikācijas nolūkiem.

Vēstuļu sūtīšana ar e-pasta paketi

Lai saglabātu pasta datus, jums būs jādeklarē mainīgie. Deklarējiet sava e-pasta un paroles mainīgos.

pasts := "Tavs e-pasts"
parole := "jūsu lietotnes parole"

Jūs varat kodēt paroli vai izmantojiet vides mainīgo failu uzlabotai drošībai.

The pastu un parole Mainīgajiem jābūt attiecīgi jūsu e-pastam un parolei.

Jums būs jādeklarē mainīgie lielumi resursdatora adresei un pasta porta numuram. Šeit ir Yahoo pasta resursdatora adrese un porta numurs:

saimniekdatora adrese := "smtp.mail.yahoo.com"
hostPort := "465"

Jums būs arī jāizveido jauns e-pasta gadījums, lai nosūtītu e-pasta ziņojumus ar e-pasts iepakojums. Varat izmantot NewEmail metodi e-pasts pakotne, lai inicializētu e-pasta gadījumu jūsu pastam:

newEmail := e-pasts. Jauns epasts()

The Jauns epasts metode atgriež struktūras gadījumu, ko varat modificēt sava e-pasta elementiem.

Jūs varat izmantot No un Uz struktūras laukus, lai savai e-pasta instancei pievienotu sūtītāja un adresāta e-pasta ziņojumus.

jauns epasts. No = pasts
jauns epasts. Kam = []virkne{"adresātu saraksts"}

The Uz lauks ir virkņu daļa ar neierobežotu jaudu, ko varat izmantot, lai deklarētu visas adresātu adreses.

Jūs varat pievienot CC un BCC e-pasta laukus, izmantojot Diskrētā kopija un Kopija struktūras instances lauki:

jauns epasts. Diskrētā kopija = []virkne{"diskrēto kopiju saraksts"}
jauns epasts. Kopija = []virkne{"kopiju saraksts"}

Pasta saturam varat pievienot e-pasta tematu un teksta saturu, izmantojot Priekšmets un Teksts struktūras lauki. Priekšmets ir virknes lauks, un teksta saturs ir baita daļa.

jauns epasts. Tēma = "E-pasta tēma"
jauns epasts. Teksts = []baits("Jūsu e-pasta pamatteksts")

Kad esat pievienojis visus nepieciešamos laukus, varat nosūtīt e-pastu, izmantojot Sūtīt jūsu e-pasta instances metode. The Sūtīt metode ņem resursdatora adresi, resursdatora porta numuru un gadījumu smtp iepakojums PlainAuth.

err := newEmail. Sūtīt(
fmt. Sprintf("%s:%s", resursdatora adrese, resursdatora ports),
smtp. PlainAuth("", pasts, parole, saimniekdatora adrese)
)

ja kļūda! = nulle {
fmt. Println("Sūtot pastu, radās kļūda")
} cits {
fmt. Println("Pasts tika veiksmīgi nosūtīts")
}

The Sūtīt metode atgriež kļūdu, ar kuru varat rīkoties, vai nulle ja nav kļūdu.

Jūs esat veiksmīgi nosūtījis e-pastu ar e-pasts pakotni ar mazāk rindiņu, nekā jums būtu jāraksta nosūtīt pastu ar smtp iepakojums.

Varat sūtīt vēstules, izmantojot iebūvēto SMTP paketi

Go ir labi izplānota valoda, jo tās standarta bibliotēkā ir iekļauta lielākā daļa funkciju, kas nepieciešamas, lai izveidotu pilnīgas tīmekļa lietojumprogrammas bez ārējām atkarībām vai trešo pušu pakotnēm.

The smtp pakotne ir noderīga, lai nosūtītu e-pastus, izmantojot dažādus pakalpojumus ar līdzīgām funkcijām e-pasts iepakojums.