Rakenduste loomisel peate saatma meile erinevatel eesmärkidel, alates märguannetest kuni autentimiseni ja palju muud. Go pakub smtp ja mail pakette oma standardses teegis e-kirjade saatmiseks. Go ökosüsteemis on ka palju kolmandate osapoolte meilipakette.
Sisseehitatud meilipaketid muudavad meili saatmise keeruliseks ülesandeks. Kui te pole serveripoolne rakenduste arendaja, võite leida selle smtp ja mail pakette on keeruline kasutada ja konfigureerida.
Üks populaarne alternatiiv on Jordan Wrighti oma email pakett, mis võtab kokku kirja saatmise keerukuse. See lisab ka funktsioone, mida te ei leia smtp ja mail paketid.
Meilipaketiga alustamine
The email pakett on kerge, vastupidav ja paindlik raamatukogu, mis on populaarne oma lihtsuse tõttu. Vaid mõne koodirea abil saate luua ja saata meili koos manuste, HTML-sisu ja muuga. Pakett toetab ka täiustatud funktsioone, nagu turvalised SMTP-ühendused ja mitu adressaati, muutes selle mitmekülgseks tööriistaks teie e-posti vajaduste rahuldamiseks.
Meilipakett toetab ka CC- ja BCC-välju, mitmes vormingus e-posti aadresse, lugemiskviitungeid ja kohandatud päiseid.
Kuna pakett ei ole Go standardteegi sisse ehitatud, peate selle installima koos mine võta käsk. Meilipakett toetab Go versioone 1.15 ja uuemaid.
Käivitage see käsk paketi installimiseks oma projekti sõltuvustesse pärast uue projekti lähtestamist.
mine hankige github.com/jordan-wright/email
Kui olete meilipaketi installinud, saate selle importida, määrates asukoha oma installitee suhtes.
importida (
"fmt"
"github.com/jordan-wright/email"
"net/smtp"
)
Sa kasutad fmt pakett väljundi printimiseks konsooli ja smtp pakett autentimise eesmärgil.
Meilide saatmine meilipaketiga
E-kirjade andmete salvestamiseks peate deklareerima muutujad. Deklareerige oma e-posti ja parooli muutujad.
mail := "sinu email"
parool := "teie rakenduse parool"
Saate parooli kõvasti kodeerida või kasutage keskkonnamuutuja faili turvalisuse parandamiseks.
The mail ja parool muutujad peaksid sisaldama vastavalt teie e-posti aadressi ja parooli.
Peate deklareerima muutujad meiliaadressi ja pordi numbri jaoks. Siin on Yahoo meili hosti aadress ja pordi number:
hosti aadress := "smtp.mail.yahoo.com"
hostPort := "465"
Samuti peate looma uue meilieksemplari, et saata e-kirju rakendusega email pakett. Saate kasutada meetodit NewEmail email pakett meilieksemplari initsialiseerimiseks:
uusEmail := email. Uus Email()
The Uus Email meetod tagastab struktuurieksemplari, mida saate oma meili elementide jaoks muuta.
Võite kasutada Alates ja To struktuuri väljad, et lisada oma meilieksemplari saatja ja saaja meilid.
Uus Email. Saatja = post
Uus Email. Kellele = []string{"saajate nimekiri"}
The To väli on piiramatu mahuga stringide osa, mida saate kasutada kõigi oma adressaatide aadresside deklareerimiseks.
Saate lisada CC ja BCC oma e-posti väljadele, kasutades Pimekoopia ja Cc Struktuuri eksemplari väljad:
Uus Email. Pimekoopia = []string{"pimekoopia loend"}
Uus Email. Koopia = []string{"koopiate loend"}
Meili sisu jaoks saate lisada oma meili teema ja tekstisisu, kasutades Teema ja Tekst struktuuri väljad. Teema on stringväli ja teksti sisu on baidilõik.
Uus Email. Teema = "Meili teema"
Uus Email. Tekst = []bait("Teie meili sisu")
Kui olete kõik nõutavad väljad lisanud, saate meili saata, kasutades Saada teie e-posti eksemplari meetod. The Saada meetod võtab hosti aadressi, hosti pordi numbri ja eksemplari smtp paketi omad PlainAuth.
err := uus meil. Saada(
fmt. Sprintf("%s:%s", hosti aadress, hostiport),
smtp. PlainAuth("", post, parool, hosti aadress)
)
kui eks!= null {
fmt. Println("Meili saatmisel ilmnes viga")
} muidu {
fmt. Println("Kirja saatmine õnnestus")
}
The Saada meetod tagastab vea, mida saate käsitleda või null kui vigu pole.
Olete edukalt saatnud meili aadressil email vähem ridu, kui peate kirjutama saatke kiri smtp pakett.
Saate saata meile sisseehitatud SMTP-paketiga
Go on hästi planeeritud keel, kuna selle standardkogu sisaldab enamikku funktsioone, mida vajate terviklike veebirakenduste loomiseks ilma väliste sõltuvuste või kolmandate osapoolte pakettideta.
The smtp pakett on mugav e-kirjade saatmiseks erinevate teenuste kaudu, millel on sarnased funktsioonid email pakett.