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 zapewnia smtp I Poczta packages 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 po stronie serwera, możesz znaleźć plik smtp I Poczta pakiety trudne w użyciu i konfiguracji.
Jedną z popularnych alternatyw jest Jordan Wright e-mail pakiet, który streszcza złożoność wysyłania poczty. Dodaje również funkcje, których nie znajdziesz w smtp I Poczta paczki.
Pierwsze kroki z pakietem e-mail
The e-mail package 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ć z idź po Komenda. 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.
Iść wejdź na 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 fmt pakiet do drukowania danych wyjściowych na konsoli i smtp pakiet w celu 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.
poczta := "Twój email"
hasło := „hasło do aplikacji”
Możesz zakodować hasło lub użyj pliku zmiennej środowiskowej dla poprawy bezpieczeństwa.
The Poczta I hasło zmienne powinny zawierać odpowiednio Twój 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:
Adres hosta := „smtp.mail.yahoo.com”
Port hosta := "465"
Będziesz także musiał utworzyć nową instancję poczty e-mail, aby wysyłać wiadomości e-mail z rozszerzeniem e-mail pakiet. Możesz użyć metody NewEmail pliku e-mail package, aby zainicjować instancję e-mail dla Twojej poczty:
nowy e-mail := e-mail. Nowy e-mail()
The Nowy e-mail Metoda zwraca instancję struct, którą możesz zmodyfikować dla elementów wiadomości e-mail.
Możesz użyć Z I Do pola struktury, aby dodać wiadomości e-mail nadawcy i odbiorcy do instancji poczty e-mail.
nowy e-mail. Od = poczta
nowy e-mail. Do = []strunowy{"lista odbiorców"}
The Do pole 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ć CC I BCK pól swojego e-maila za pomocą Bcc I Dw pola instancji struktury:
nowy e-mail. UDW = []strunowy{„lista UDW”}
nowy e-mail. DW = []strunowy{"lista DW"}
W przypadku treści wiadomości e-mail możesz dodać temat i treść wiadomości e-mail za pomocą opcji Temat I Tekst pola struktury. Temat jest polem tekstowym, a zawartość tekstowa to wycinek bajtów.
nowy e-mail. Temat = „Temat wiadomości e-mail”
nowy e-mail. Tekst = []bajt(„Treść wiadomości e-mail”)
Po dodaniu wszystkich wymaganych pól możesz wysłać wiadomość e-mail za pomocą Wysłać metoda Twojej instancji e-mail. The Wysłać Metoda pobiera adres hosta, numer portu hosta i instancję metody smtp paczek ZwykłyAut.
błąd:= nowy e-mail. Wysłać(
fmt. Sprintf("%SS", adres hosta, port hosta),
smtp. Zwykłe uwierzytelnienie ("", poczta, hasło, adres hosta)
)
Jeśli błąd!= zero {
fmt. println("Wystąpił błąd podczas wysyłania wiadomości")
} w przeciwnym razie {
fmt. println("Poczta została wysłana pomyślnie")
}
The Wysłać metoda zwraca błąd, który możesz obsłużyć lub zero jeśli nie ma błędów.
Pomyślnie wysłałeś wiadomość z e-mail package z mniejszą liczbą wierszy, niż musiałbyś pisać wyślij maila z smtp pakiet.
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.
The smtp pakiet jest przydatny do wysyłania wiadomości e-mail za pośrednictwem różnych usług o podobnych funkcjonalnościach do e-mail pakiet.