从 Go 发送带有“名称”<email> 的电子邮件

我正在使用net/smtp发送电子邮件,它似乎无法处理电子邮件中的联系人姓名。


c, _ := smtp.Dial("smtp.example.com:25")

c.Mail(`jdoe@example.com`)

而不是


c, _ := smtp.Dial("smtp.example.com:25")

c.Mail(`"John Q. Doe" <jdoe@example.com>`)

有没有好的办法来处理这个问题?如果可用,我更喜欢封装和标准的东西,但如果可以做到的话,我愿意使用原始 SMTP。


哈士奇WWW
浏览 303回答 2
2回答

波斯汪

smtpServer := "smtp.example.com"auth := smtp.PlainAuth("", "from@example.com", "******", smtpServer)from := mail.Address{"fromName", "from@example.com"}to := mail.Address{"toName", "to@example.com"}msg := []byte("From: " + from.String() + "\r\n" +"To: " + to.String() + "\r\n" +"Subject: Awesome Subject !\r\n" +"This is the email body.\r\n")err := smtp.SendMail(smtpServer + ":25", auth, from.Address,[]string{to.Address}, msg)if err != nil {&nbsp; &nbsp; log.Fatal(err)}

三国纷争

你可以试试没有双引号吗?IEc.Mail(`John&nbsp;Q.&nbsp;Doe&nbsp;<jdoe@example.com>`)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go