Maison > développement back-end > Golang > le corps du texte

Erreur lors de l'envoi d'un e-mail wsarecv : la connexion existante a été fermée de force par l'hôte distant

PHPz
Libérer: 2024-02-12 15:57:05
avant
892 Les gens l'ont consulté

发送电子邮件时出现错误 wsarecv:现有连接被远程主机强行关闭

Contenu de la question

J'ai le programme go suivant qui envoie des e-mails. Les informations d'identification sont correctes. Je les ai même testés avec curl et j'ai constaté que la connexion est réussie. Notez que tls n'est pas obligatoire.

package main

import (
    "fmt"
    "log"
    "net/smtp"
)

const (
    username = "[email protected]"
    passwd   = "password1111"
    host     = "mail.privateemail.com"
    port     = "465"
)

func main() {
    from := "[email protected]"
    to := []string{
        "[email protected]",
    }
    msg := []byte("from: [email protected]\r\n" +
        "to: [email protected]" +
        "subject: golang testing mail\r\n" +
        "email body: welcome to go!\r\n")

    auth := smtp.plainauth("", username, passwd, host)
    url := fmt.sprintf(host + ":" + port)
    fmt.printf("url=[%s]\n", url)
    err := smtp.sendmail(url, auth, from, to, msg)
    if err != nil {
        log.fatal(err)
    }
    fmt.println("mail sent successfully!")
}
Copier après la connexion

Pouvez-vous me dire pourquoi l'erreur suivante se produit ?

read tcp 192.168.0.2:61740->198.54.122.135:465: wsarecv: an existing connection was forcibly closed by the remote host.
exit status 1
Copier après la connexion

J'ai essayé d'utiliser curl et je l'ai vu connecté au serveur de messagerie mais la connexion était fermée.

c:\GoProjects\goemail
λ curl -v --url "smtp://mail.privateemail.com:465" --user "[email protected]:password1111" --mail-from "[email protected]" --mail-rcpt "[email protected]" --upload-file sample.txt
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 198.54.122.135:465...
* Connected to mail.privateemail.com (198.54.122.135) port 465 (#0)
  0     0    0     0    0     0      0      0 --:--:--  0:00:09 --:--:--     0* Recv failure: Connection was reset
  0     0    0     0    0     0      0      0 --:--:--  0:00:10 --:--:--     0
* Closing connection 0
curl: (56) Recv failure: Connection was reset
Copier après la connexion

J'attends l'envoi d'un email.

Solution

Merci beaucoup pour votre réponse. Je suis passé à la mise en œuvre depuis https://www.php.cn/link/7104a226fe65be03fecf10f5bceff8a6 et fonctionne bien. Je ne comprends toujours pas ce que j'ai fait de mal. Je me suis trompé à propos de TLS - il est utilisé et la méthode go en tient compte.

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!

source:stackoverflow.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal