Maison >développement back-end >Golang >aller package smtp n'affiche pas le corps du message sur l'e-mail
L'éditeur PHP Zimo rappelle à tous que vous pouvez rencontrer un problème lors de l'envoi d'e-mails en utilisant le package smtp du langage Go, c'est-à-dire que le corps du message ne s'affiche pas correctement dans l'e-mail. Ce problème peut empêcher les e-mails de transmettre correctement les informations requises. Avant de résoudre ce problème, comprenons d’abord comment utiliser le package smtp et les raisons possibles.
Alors, je voulais envoyer un e-mail. L'e-mail a été envoyé avec succès dans la boîte de réception Gmail, mais le message ou le corps est manquant ou vide. Voici le code
Assistant Pack
func randomstringbytes() string { rand.seed(time.now().unixnano()) number := []byte("0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz") b := make([]byte, 6) for i := range b{ b[i] = number[rand.intn(len(number))] } return string(b) } func sendemail(to string, code string) error { from := "xxx" password := "xxx" smptserver := "smtp.gmail.com:587" subject := "verification code" body := "your verification code is: "+code message := "from: "+ from + "\n" + "to: " + to + "\n" + "subject: " + subject + "\n" + body auth := smtp.plainauth("", from, password, "smtp.gmail.com") return smtp.sendmail(smptserver, auth, from, []string{to}, []byte(message)) }
Packmaster
func emailverify() { email := "xxx" code := helper.randomstringbytes() fmt.println("code:", code) err := helper.sendemail(email, code) if err != nil { fmt.println("error sending email:", err) return } } func main(){ emailverify() }
Dans le code suivant du package d'assistance, il existe déjà et est utilisé comme paramètre dans smtp.sendmail() mais l'e-mail n'a toujours pas de message ou est vide
message := "From: "+ from + "\n" + "To: " + to + "\n" + "Subject: " + subject + "\n" + body
Comment le résoudre ?
body := "Your verification code is: "+code message := "From: "+ from + "\n" + "To: " + to + "\n" + "Subject: " + subject + "\n" + body
Il doit y avoir une ligne vide entre l'en-tête du message et le corps du message, mais elle manque ici.
Certains serveurs de messagerie résoudront ce problème en ajoutant cette ligne avant tout ce qui ne ressemble pas à un en-tête, certains serveurs de messagerie résoudront ce problème d'autres manières, certains serveurs accepteront ce message tel quel, mais l'affichage sera affiché en D'une certaine manière Échec, certains serveurs refuseront d'envoyer directement cet email mal formé.
Pour plus d'informations sur l'apparence attendue des messages, voir rfc 5322.
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!