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
893 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!

sumber:stackoverflow.com
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