Rumah > pembangunan bahagian belakang > Golang > Ralat semasa menghantar e-mel wsarecv: Sambungan sedia ada telah ditutup secara paksa oleh hos jauh

Ralat semasa menghantar e-mel wsarecv: Sambungan sedia ada telah ditutup secara paksa oleh hos jauh

PHPz
Lepaskan: 2024-02-12 15:57:05
ke hadapan
971 orang telah melayarinya

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

Kandungan soalan

Saya mempunyai program go berikut yang menghantar e-mel. Bukti kelayakan adalah betul. Saya juga mengujinya dengan curl dan saya mendapati sambungan itu berjaya. Ambil perhatian bahawa tls tidak diperlukan.

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!")
}
Salin selepas log masuk

Bolehkah anda beritahu saya mengapa ralat berikut berlaku?

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
Salin selepas log masuk

Saya cuba menggunakan curl dan saya nampak ia disambungkan ke pelayan mel tetapi sambungan telah ditutup.

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
Salin selepas log masuk

Saya sedang menunggu e-mel dihantar.

Penyelesaian

Terima kasih banyak atas balasan anda. Saya bertukar kepada pelaksanaan daripada https://www.php.cn/link/7104a226fe65be03fecf10f5bceff8a6 dan berfungsi dengan baik. Saya masih tidak faham apa salah saya. Saya silap tentang TLS - ia digunakan dan kaedah go mengambil kiranya.

Atas ialah kandungan terperinci Ralat semasa menghantar e-mel wsarecv: Sambungan sedia ada telah ditutup secara paksa oleh hos jauh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan