gomail

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten
```html

gomail: E-Mail-Versand mit Go

gomail ist eine leistungsstarke und einfach zu verwendende Bibliothek zum Versenden von E-Mails in der Sprache Go (Golang). Sie bietet eine praktische Schnittstelle zum Erstellen und Versenden von E-Mails mit Unterstützung für Anhänge, HTML-Vorlagen, mehrere Empfänger und Authentifizierung über SMTP. Die Bibliothek wird von der Community aktiv unterstützt und ist eine der Standardlösungen für die Arbeit mit E-Mails im Go-Ökosystem.

Wofür wird gomail benötigt?

Das Versenden von E-Mails ist eine häufige Aufgabe in Webanwendungen: Benutzerregistrierung, Passwort-Zurücksetzen, Benachrichtigungen, Newsletter. Die Standardbibliothek von Go (net/smtp) bietet grundlegende Funktionen, erfordert jedoch viel manuelle Arbeit: Kodierung von Anhängen, Erstellung von MIME-Headern, Arbeit mit HTML-Vorlagen. gomail übernimmt all diese Komplexitäten und ermöglicht es Ihnen, sich auf die Anwendungslogik zu konzentrieren.

Installation

Die Installation erfolgt mit dem Standardbefehl go get:

go get gopkg.in/gomail.v2

Für die Verwendung im Projekt importieren Sie das Paket:

import "gopkg.in/gomail.v2"

Hauptfunktionen

  • Einfacher Versand: Minimaler Code zum Versenden einer E-Mail mit Text oder HTML.
  • Unterstützung für Anhänge: Sie können Dateien (Bilder, PDFs, Dokumente) anhängen.
  • Mehrere Empfänger: To, Cc, Bcc.
  • HTML und Text: Unterstützung für multipart/alternative E-Mails.
  • Authentifizierung: Unterstützung für LOGIN, PLAIN, CRAM-MD5.
  • Benutzerdefinierte Header: Möglichkeit, eigene Header hinzuzufügen (Reply-To, Message-ID usw.).
  • Verteilerlisten: Praktisch für Massenversand.

Codebeispiel in Go (Golang)

Nachfolgend finden Sie ein vollständiges Beispiel zum Versenden einer E-Mail mit HTML-Inhalt und Anhang über einen Gmail-SMTP-Server:

package main

import ( "gopkg.in/gomail.v2" "log")

func main() { m := gomail.NewMessage() m.SetHeader("From", "youremail@gmail.com") m.SetHeader("To", "recipient@example.com") m.SetHeader("Subject", "Hallo von Go!") m.SetBody("text/html", "<h1>Guten Tag!</h1><p>Dies ist eine Test-E-Mail.</p>") m.Attach("/path/to/file.pdf")

d := gomail.NewDialer("smtp.gmail.com", 587, "youremail@gmail.com", "yourpassword")

if err := d.DialAndSend(m); err != nil { log.Fatal(err) } log.Println("E-Mail erfolgreich gesendet")}

Wann sollte man gomail verwenden?

  • Wenn ein zuverlässiger E-Mail-Versand mit Anhängen und HTML-Formatierung erforderlich ist.
  • Bei der Erstellung von Serveranwendungen in Go, die eine Integration mit E-Mail-Benachrichtigungen benötigen.
  • Für Massenmailings (unter Verwendung eines Verbindungspools).
  • Wenn Sie die manuelle MIME-Kodierung leid sind und sauberen, lesbaren Code wünschen.

Die Bibliothek gomail ist eine ausgezeichnete Wahl für jedes Go-Projekt, das E-Mails versenden muss. Sie ist einfach, dokumentiert und getestet.

```

Empfehlungen