Jak wysłać pocztę w Go za pomocą pakietu e-mail
Tworząc aplikacje, będziesz musiał wysyłać wiadomości e-mail do różnych celów, od powiadomień po uwierzytelnianie i wiele innych. Go udostępnia pakiety smtp i mail w swojej standardowej bibliotece do wysyłania wiadomości e-mail. W ekosystemie Go istnieje również wiele pakietów e-mail innych firm.
Wbudowane pakiety pocztowe sprawiają, że wysyłanie wiadomości e-mail jest złożonym zadaniem. Jeśli nie jesteś programistą aplikacji serwerowych, pakiety smtp i mail mogą być trudne w użyciu i konfiguracji.
Jedną z popularnych alternatyw jest pakiet e -mail Jordana Wrighta, który streszcza złożoność wysyłania poczty. Dodaje również funkcje, których nie znajdziesz w pakietach smtp i mail .
Pierwsze kroki z pakietem e-mail
Pakiet e-mail to lekka, solidna i elastyczna biblioteka, popularna ze względu na swoją prostotę. Wystarczy kilka wierszy kodu, aby utworzyć i wysłać wiadomość e-mail z załącznikami, zawartością HTML i nie tylko. Pakiet obsługuje również zaawansowane funkcje, takie jak bezpieczne połączenia SMTP i wielu odbiorców, co czyni go wszechstronnym narzędziem do Twoich potrzeb poczty e-mail.
Pakiet e-mail obsługuje również pola DW i BCC, adresy e-mail w wielu formatach, potwierdzenia odczytu i niestandardowe nagłówki.
Ponieważ pakiet nie jest wbudowany w standardową bibliotekę Go, musisz go zainstalować za pomocą polecenia go get . Pakiet e-mail obsługuje wersje Go 1.15 i nowsze.
Uruchom to polecenie, aby zainstalować pakiet w zależnościach projektu po zainicjowaniu nowego projektu.
go get github.com/jordan-wright/email
Po zainstalowaniu pakietu e-mail możesz go zaimportować, określając lokalizację względem ścieżki instalacji:
import (
"fmt"
"github.com/jordan-wright/email"
"net/smtp"
)
Użyjesz pakietu fmt do wydrukowania danych wyjściowych na konsoli, a pakietu smtp do celów uwierzytelnienia.
Wysyłanie wiadomości e-mail za pomocą pakietu e-mail
Będziesz musiał zadeklarować zmienne do przechowywania danych dla Twojej poczty. Zadeklaruj zmienne dla swojego adresu e-mail i hasła.
mail: = "your email"
password: = "your app password"
Możesz zakodować hasło na stałe lub użyć pliku zmiennej środowiskowej w celu zwiększenia bezpieczeństwa.
Zmienne mail i password powinny zawierać odpowiednio adres e-mail i hasło.
Będziesz musiał zadeklarować zmienne dla adresu hosta i numeru portu dla poczty. Oto adres hosta i numer portu poczty Yahoo:
hostAddress: = "smtp.mail.yahoo.com"
hostPort: = "465"
Będziesz także musiał utworzyć nową instancję e-mail, aby wysyłać wiadomości e-mail z pakietem e-mail . Możesz użyć metody NewEmail pakietu e-mail , aby zainicjować instancję e-mail dla swojej poczty:
newEmail: = email.NewEmail()
Metoda NewEmail zwraca instancję struktury, którą możesz zmodyfikować dla elementów wiadomości e-mail.
Możesz użyć pól Od i Do struktury, aby dodać wiadomości e-mail nadawcy i odbiorcy do swojej instancji poczty e-mail.
newEmail.From = mail
newEmail.To = []string{"list of recipients"}
Pole Do to wycinek ciągów znaków o nieograniczonej pojemności, którego można użyć do zadeklarowania wszystkich adresów odbiorców.
Możesz dodać pola DW i BCC swojego e-maila za pomocą pól Bcc i DW instancji struktury:
newEmail.Bcc = []string{"list of bcc"}
newEmail.Cc = []string{"list of cc"}
W przypadku treści wiadomości możesz dodać temat i treść wiadomości e-mail, korzystając z pól Temat i Tekst struktury. Temat jest polem tekstowym, a zawartość tekstowa to wycinek bajtów.
newEmail.Subject = "The Email subject"
newEmail.Text = []byte("Body of your email")
Po dodaniu wszystkich wymaganych pól możesz wysłać wiadomość e-mail przy użyciu metody Send swojej instancji poczty e-mail. Metoda Send przyjmuje adres hosta, numer portu hosta i instancję PlainAuth pakietu smtp .
err: = newEmail.Send(
fmt.Sprintf("%s:%s", hostAddress, hostPort),
smtp.PlainAuth("", mail, password, hostAddress)
)
if err! = nil {
fmt.Println("There was an error sending the mail")
} else {
fmt.Println("The mail was sent successfully")
}
Metoda Send zwraca błąd, który można obsłużyć lub nil , jeśli nie ma żadnych błędów.
Pomyślnie wysłałeś e-mail z pakietem e-mail zawierającym mniej wierszy niż trzeba by napisać, aby wysłać e-mail z pakietem smtp .
Możesz wysyłać pocztę za pomocą wbudowanego pakietu SMTP
Go to dobrze zaplanowany język, ponieważ jego standardowa biblioteka jest dostarczana z większością funkcji potrzebnych do tworzenia kompletnych aplikacji internetowych bez zewnętrznych zależności lub pakietów innych firm.
Pakiet smtp jest przydatny do wysyłania wiadomości e-mail za pośrednictwem różnych usług o podobnych funkcjach do pakietu e-mail .
Dodaj komentarz