Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

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.

instagram viewer

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.