Fehler beim Senden der E-Mail wsarecv: Die bestehende Verbindung wurde vom Remote-Host zwangsweise geschlossen

PHPz
Freigeben: 2024-02-12 15:57:05
nach vorne
893 Leute haben es durchsucht

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

Frageninhalt

Ich habe das folgende Go-Programm, das E-Mails versendet. Die Anmeldedaten sind korrekt. Ich habe sie sogar mit Curl getestet und festgestellt, dass die Verbindung erfolgreich ist. Beachten Sie, dass TLS nicht erforderlich ist.

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!")
}
Nach dem Login kopieren

Können Sie mir sagen, warum der folgende Fehler auftritt?

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
Nach dem Login kopieren

Ich habe versucht, Curl zu verwenden und habe festgestellt, dass es mit dem Mailserver verbunden ist, aber die Verbindung wurde geschlossen.

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
Nach dem Login kopieren

Ich warte auf den Versand einer E-Mail.

Lösung

Vielen Dank für Ihre Antwort. Ich bin von https://www.php.cn/link/7104a226fe65be03fecf10f5bceff8a6 zur Implementierung gewechselt und funktioniert gut. Ich verstehe immer noch nicht, was ich falsch gemacht habe. Ich habe mich bei TLS geirrt – es wird verwendet und die Go-Methode berücksichtigt es.

Das obige ist der detaillierte Inhalt vonFehler beim Senden der E-Mail wsarecv: Die bestehende Verbindung wurde vom Remote-Host zwangsweise geschlossen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage