Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Při vytváření aplikací budete muset posílat e-maily pro různé účely, od upozornění po ověřování a mnoho dalších. Go poskytuje smtp a pošta balíčky ve své standardní knihovně pro odesílání e-mailů. V ekosystému Go je také mnoho e-mailových balíčků třetích stran.

Vestavěné poštovní balíčky činí odesílání e-mailů složitým úkolem. Pokud nejste vývojář aplikací na straně serveru, můžete najít smtp a pošta balíky, které se obtížně používají a konfigurují.

Jednou z populárních alternativ je Jordan Wright's e-mailem balíček, který abstrahuje složitost odesílání pošty. Přidává také funkce, které v něm nenajdete smtp a pošta balíčky.

Začínáme s e-mailovým balíčkem

The e-mailem package je lehká, robustní a flexibilní knihovna, oblíbená pro svou jednoduchost. Pomocí několika řádků kódu můžete vytvořit a odeslat e-mail s přílohami, obsahem HTML a dalšími. Balíček také podporuje pokročilé funkce, jako je zabezpečené připojení SMTP a více příjemců, což z něj činí všestranný nástroj pro vaše e-mailové potřeby.

instagram viewer

E-mailový balíček také podporuje pole CC a BCC, e-mailové adresy v různých formátech, potvrzení o přečtení a vlastní záhlaví.

Vzhledem k tomu, že balíček není zabudován do standardní knihovny Go, budete jej muset nainstalovat pomocí jít dostat příkaz. E-mailový balíček podporuje Go verze 1.15 a vyšší.

Spuštěním tohoto příkazu nainstalujte balíček do závislostí vašeho projektu po inicializaci nového projektu.

jít získejte github.com/jordan-wright/email

Jakmile e-mailový balíček nainstalujete, můžete jej importovat zadáním umístění vzhledem k vaší instalační cestě:

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

Budete používat fmt balíček pro tisk výstupu do konzole a smtp balíček pro účely ověření.

Odesílání e-mailů s e-mailovým balíčkem

Budete muset deklarovat proměnné pro ukládání dat pro vaši poštu. Deklarujte proměnné pro svůj e-mail a heslo.

mail := "tvůj e-mail"
heslo := "heslo vaší aplikace"

Heslo můžete zakódovat napevno nebo použijte soubor proměnné prostředí pro lepší zabezpečení.

The pošta a Heslo proměnné by měly obsahovat váš e-mail a heslo.

Budete muset deklarovat proměnné pro adresu hostitele a číslo portu pro poštu. Zde je adresa hostitele a číslo portu pro poštu Yahoo:

hostAddress := "smtp.mail.yahoo.com"
hostPort := "465"

Budete také muset vytvořit novou instanci e-mailu, abyste mohli odesílat e-maily pomocí e-mailem balík. Můžete použít metodu NewEmail e-mailem balíček pro inicializaci e-mailové instance pro vaši poštu:

newEmail := email. Nový Email()

The Nový Email metoda vrací instanci struktury, kterou můžete upravit pro prvky vašeho e-mailu.

Můžete použít Z a Na pole struktury pro přidání e-mailů odesílatele a příjemce do vaší e-mailové instance.

Nový Email. Od = mail
Nový Email. Komu = []tětiva{"seznam příjemců"}

The Na pole je část řetězců s neomezenou kapacitou, kterou můžete použít k deklaraci všech adres příjemců.

Můžeš přidat CC a BCC pole vašeho e-mailu pomocí Bcc a Kopie pole instance struct:

Nový Email. Skrytá kopie = []tětiva{"seznam skrytá kopie"}
Nový Email. kopie = []tětiva{"seznam kopií"}

Pro obsah e-mailu můžete přidat předmět a textový obsah vašeho e-mailu pomocí Předmět a Text pole struktury. Předmět je pole řetězce a obsah textu je bajtový řez.

Nový Email. Předmět = "Předmět e-mailu"
Nový Email. Text = []byte("Tělo vašeho emailu")

Po přidání všech požadovaných polí můžete odeslat e-mail pomocí Poslat metoda vaší instance e-mailu. The Poslat metoda přijímá adresu hostitele, číslo portu hostitele a instanci smtp balíčky PlainAuth.

err := nový e-mail. Poslat(
fmt. Sprintf("%s:%s", hostAddress, hostPort),
smtp. PlainAuth("", mail, heslo, hostAddress)
)

-li chyba!= nula {
fmt. Println("Při odesílání pošty došlo k chybě")
} jiný {
fmt. Println("E-mail byl úspěšně odeslán")
}

The Poslat metoda vrátí chybu, kterou můžete zvládnout nebo nula pokud nejsou žádné chyby.

Úspěšně jste odeslali e-mail s e-mailem balíček s méně řádky, než do kterého byste museli psát poslat e-mail s smtp balík.

Poštu můžete odesílat pomocí vestavěného balíčku SMTP

Go je dobře naplánovaný jazyk, protože jeho standardní knihovna se dodává s většinou funkcí, které budete potřebovat k vytvoření kompletních webových aplikací bez externích závislostí nebo balíčků třetích stran.

The smtp balíček se hodí pro odesílání e-mailů prostřednictvím různých služeb s podobnými funkcemi jako e-mailem balík.