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!") }
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
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
J'attends l'envoi d'un email.
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!