Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Beim Erstellen von Apps müssen Sie E-Mails für verschiedene Zwecke senden, von Benachrichtigungen bis hin zur Authentifizierung und vielem mehr. Go bietet die smtp Und Post Pakete in seiner Standardbibliothek zum Senden von E-Mails. Es gibt auch viele E-Mail-Pakete von Drittanbietern im Go-Ökosystem.

Die integrierten E-Mail-Pakete machen das Versenden von E-Mails zu einer komplexen Aufgabe. Wenn Sie kein Entwickler serverseitiger Anwendungen sind, finden Sie möglicherweise die smtp Und Post Pakete schwierig zu verwenden und zu konfigurieren.

Eine beliebte Alternative ist Jordan Wright's Email Paket, das die Komplexität des Mailversands abstrahiert. Es fügt auch Funktionen hinzu, die Sie in der nicht finden werden smtp Und Post Pakete.

Erste Schritte mit dem E-Mail-Paket

Der Email Paket ist eine leichtgewichtige, robuste und flexible Bibliothek, die wegen ihrer Einfachheit beliebt ist. Mit nur wenigen Codezeilen können Sie eine E-Mail mit Anhängen, HTML-Inhalten und mehr erstellen und versenden. Das Paket unterstützt auch erweiterte Funktionen wie sichere SMTP-Verbindungen und mehrere Empfänger, was es zu einem vielseitigen Tool für Ihre E-Mail-Anforderungen macht.

instagram viewer

Das E-Mail-Paket unterstützt auch CC- und BCC-Felder, E-Mail-Adressen in mehreren Formaten, Lesebestätigungen und benutzerdefinierte Kopfzeilen.

Da das Paket nicht in die Go-Standardbibliothek integriert ist, müssen Sie es mit installieren geh holen Befehl. Das E-Mail-Paket unterstützt die Go-Versionen 1.15 und höher.

Führen Sie diesen Befehl aus, um das Paket nach der Initialisierung eines neuen Projekts in den Abhängigkeiten Ihres Projekts zu installieren.

gehen Holen Sie sich github.com/jordan-wright/email

Nachdem Sie das E-Mail-Paket installiert haben, können Sie es importieren, indem Sie den Speicherort relativ zu Ihrem Installationspfad angeben:

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

Sie verwenden die fmt Paket, um die Ausgabe an die Konsole und die smtp Paket für Authentifizierungszwecke.

E-Mails mit dem E-Mail-Paket versenden

Sie müssen Variablen deklarieren, um die Daten für Ihre Mail zu speichern. Deklarieren Sie Variablen für Ihre E-Mail und Ihr Passwort.

mail := "deine E-Mail"
Passwort := "Ihr App-Passwort"

Sie können das Passwort fest codieren oder Verwenden Sie eine Umgebungsvariablendatei für verbesserte Sicherheit.

Der Post Und Passwort Variablen sollten Ihre E-Mail-Adresse bzw. Ihr Passwort enthalten.

Sie müssen Variablen für die Hostadresse und die Portnummer für die Mail deklarieren. Hier sind die Hostadresse und die Portnummer für Yahoo Mail:

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

Sie müssen auch eine neue E-Mail-Instanz erstellen, um E-Mails mit der zu senden Email Paket. Sie können die NewEmail-Methode des verwenden Email Paket, um eine E-Mail-Instanz für Ihre E-Mail zu initialisieren:

neueE-Mail := E-Mail. Neue e-mail()

Der Neue e-mail -Methode gibt eine Strukturinstanz zurück, die Sie für die Elemente Ihrer E-Mail ändern können.

Du kannst den... benutzen Aus Und Zu Felder der Struktur, um die Absender- und Empfänger-E-Mails zu Ihrer E-Mail-Instanz hinzuzufügen.

Neue e-mail. Von = mail
Neue e-mail. An = []Schnur{"Liste der Empfänger"}

Der Zu field ist ein Stück Zeichenfolgen mit unbegrenzter Kapazität, mit dem Sie alle Ihre Empfängeradressen deklarieren können.

Du kannst hinzufügen CC Und BCC Felder Ihrer E-Mail mit dem Bcc Und CC Felder der Struct-Instanz:

Neue e-mail. Bcc = []Schnur{"Liste der bcc"}
Neue e-mail. CC = []Schnur{"Liste von cc"}

Für den Inhalt der E-Mail können Sie den Betreff und den Textinhalt Ihrer E-Mail mit hinzufügen Thema Und Text Felder der Struktur. Der Betreff ist ein Zeichenfolgenfeld und der Textinhalt ist ein Byte-Slice.

Neue e-mail. Betreff = "Der E-Mail-Betreff"
Neue e-mail. Text = []Byte("Text Ihrer E-Mail")

Nachdem Sie alle erforderlichen Felder hinzugefügt haben, können Sie die E-Mail mit senden Schicken -Methode Ihrer E-Mail-Instanz. Der Schicken -Methode übernimmt die Hostadresse, die Host-Portnummer und eine Instanz der smtp Pakete PlainAuth.

err := neueE-Mail. Schicken(
fmt. Sprintf("%s:%s", hostAddress, hostPort),
smtp. PlainAuth("", E-Mail, Passwort, Hostadresse)
)

Wenn äh != Null {
fmt. Println("Beim Senden der Mail ist ein Fehler aufgetreten")
} anders {
fmt. Println("Die Mail wurde erfolgreich versendet")
}

Der Schicken -Methode gibt einen Fehler zurück, den Sie behandeln können, oder Null wenn keine Fehler vorhanden sind.

Sie haben erfolgreich eine E-Mail mit der gesendet Email Paket mit weniger Zeilen, als Sie schreiben müssten sende eine Mail mit der smtp Paket.

Sie können E-Mails mit dem integrierten SMTP-Paket senden

Go ist eine gut geplante Sprache, da ihre Standardbibliothek mit den meisten Funktionen geliefert wird, die Sie zum Erstellen vollständiger Webanwendungen ohne externe Abhängigkeiten oder Pakete von Drittanbietern benötigen.

Der smtp Das Paket ist praktisch zum Versenden von E-Mails über verschiedene Dienste mit ähnlichen Funktionen wie das Email Paket.