Maison > Article > développement back-end > Comment puis-je envoyer des e-mails en Go sans utiliser de serveur SMTP ?
Envoi d'e-mails dans Go sans serveur SMTP
Vous cherchez à envoyer des e-mails en masse via une application serveur Go, en évitant les limitations de quota potentielles imposées par serveurs SMTP tiers.
Approches alternatives
Malheureusement, sans interagir directement avec un serveur SMTP, l'envoi d'e-mails n'est pas réalisable.
Déléguer à des programmes externes
Pour contourner un serveur SMTP, envisagez de déléguer la tâche à un autre programme capable d'envoyer des e-mails.
Sur les systèmes POSIX (par exemple, Linux), vous pouvez généralement recherchez des utilitaires comme /usr/sbin/sendmail ou /usr/bin/sendmail. Ces programmes acceptent les messages électroniques et les transmettent pour livraison.
À l'aide de la bibliothèque gomail
Simplifiant ce processus, la bibliothèque gomail fournit une API conviviale pour interagir avec des utilitaires d'envoi d'e-mails comme Sendmail.
Voici un exemple utilisant le package gomail :
<code class="go">import ( "bytes" "os/exec" "github.com/go-gomail/gomail" ) const sendmail = "/usr/sbin/sendmail" func sendEmail(m *gomail.Message) error { cmd := exec.Command(sendmail, "-t") cmd.Stdin = bytes.NewReader([]byte(m.Format())) if err := cmd.Run(); err != nil { return err } return nil }</code>
Avantages de s'appuyer sur un MTA
Bien que cela puisse semble pratique pour gérer l'envoi d'e-mails sans serveur SMTP, s'appuyer sur un MTA (Mail Transfer Agent) comme Sendmail offre des avantages :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!