[问题和解决]553 Mail from must equal authorized user

学习时候发现的问题,记录一下

发送邮件用的简单的gomail

func MailTest(c *gin.Context) {
	msg := mail.NewMessage()
	msg.SetHeader("From", "*****@163.com")
	msg.SetHeader("To", "******@qq.com")
	msg.SetHeader("Subject", "测试邮件")
	msg.SetBody("text/html", "发送信息给烽哥")
	// msg.Attach("/home/User/cat.jpg")

	n := mail.NewDialer("smtp.163.com", 25, "*****@163.com", "*******")

	// Send the email
	if err := n.DialAndSend(msg); err != nil {
		panic(err)
	}
	c.JSON(http.StatusOK, gin.H{
		"MSG": "already send the mail",
	})
}

这个问题翻译过来就是mail的来源方和授权账户必须相同,也就是这个mail.NewDialer中的第三个参数和From的那个邮箱必须一致(我原先以为这个拨号中的第三个参数指的是收件方)

你可能感兴趣的:(golang,golang)