Maison  >  Article  >  développement back-end  >  ## Pouvez-vous contourner les serveurs SMTP pour l'envoi d'e-mails en masse dans Go ?

## Pouvez-vous contourner les serveurs SMTP pour l'envoi d'e-mails en masse dans Go ?

DDD
DDDoriginal
2024-10-25 10:57:31934parcourir

## Can You Bypass SMTP Servers for Bulk Emailing in Go?

Envoi d'e-mails sans serveurs SMTP dans Go

Question :

Est-il possible d'envoyer envoyer des e-mails en masse sans utiliser de serveurs SMTP tiers ? Le package SMTP de la bibliothèque standard peut-il apporter une solution ?

Réponse :

L'envoi direct d'e-mails sans serveur SMTP n'est pas réalisable. Cependant, vous pouvez utiliser d'autres programmes dotés de capacités d'envoi d'e-mails.

Approche utilisant des programmes externes :

Une approche recommandée consiste à tirer parti de programmes externes tels que Sendmail ou Nullmailer. Ces programmes gèrent la livraison des e-mails et peuvent être invoqués à l'aide du package os/exec dans Go.

Plus précisément, vous pouvez utiliser la méthode WriteTo du type gomail.Message pour envoyer des e-mails directement à une instance Sendmail en cours d'exécution. Voici un exemple d'extrait de code :

<code class="go">import (
    "os"
    "os/exec"

    "github.com/gomail/gomail"
)

func submitMail(m *gomail.Message) (err error) {
    const sendmail = "/usr/sbin/sendmail"

    cmd := exec.Command(sendmail, "-t")
    cmd.Stdout = os.Stdout
    cmd.Stderr = os.Stderr

    pw, err := cmd.StdinPipe()
    if err != nil {
        return
    }

    err = cmd.Start()
    if err != nil {
        return
    }

    var errs [3]error
    _, errs[0] = m.WriteTo(pw)
    errs[1] = pw.Close()
    errs[2] = cmd.Wait()
    for _, err = range errs {
        if err != nil {
            return
        }
    }
    return
}</code>

Avantages de l'utilisation des MTA :

Bien que cela ne soit pas directement lié à l'utilisation du serveur SMTP, l'utilisation d'agents de transfert de courrier (MTA) à part entière ) comme Sendmail offre des avantages supplémentaires. Les MTA assurent la mise en file d'attente du courrier, garantissant que les e-mails sont livrés de manière fiable même en cas de panne de réseau.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn