beego邮件发送

QQ 邮箱网页上需要设置授权码,开启POP3/STMP服务
具体可以点击网址 https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
查看操作步骤
1、什么是授权码?
授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码。
适用于登录以下服务:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。
温馨提醒:为了你的帐户安全,更改QQ密码以及独立密码会触发授权码过期,需要重新获取新的授权码登录。

2、怎么获取授权码?
先进入设置-》帐户页面找到入口,按照以下流程操作。
(1)点击“开启”
在这里插入图片描述
(2)验证密保
在这里插入图片描述
(3)获取授权码
在这里插入图片描述
3、在第三方客户端怎么设置?
在第三方客户端的密码框里面输入16位授权码进行验证。

beego代码如下

package main

import (
	"fmt"

	"github.com/astaxie/beego/utils"
)
func main() {
	emailConfig := `{"username":"1530077894@qq.com","password":"sasdfasknkasdfsa","host":"smtp.qq.com","port":587}`
	emailConn := utils.NewEMail(emailConfig)
	emailConn.From = "1530077894@qq.com"
	emailConn.To = []string{email}
	emailConn.Subject = "邮件主题test测试邮件"  //邮件主题
	emailConn.Text = "邮件正文" //1 是邮件正文  
	emailConn.HTML = "<h1>hello world</h1>" // 2也是邮件正文
	// 1 || 2 选用一种方式发送邮件正文
	//注意这里我们发送给用户的是激活请求地址
	//emailConn.Text = "192.168.110.81:8080/active?id="+strconv.Itoa(user.Id)
	err := emailConn.Send()
	beego.Info("邮件发送错误",err)
	beego.Info("邮件发送错误",err)//最好打印下错误到日志中,如果没有错误无碍,有错误直接在日志中看到错误信息
}

自己撸码过程碰到的错误

535 Login fail. Authorization code is d

解决办法为 重新生成qq授权码
如果qq有独立密码,需要关闭

原文地址:https://www.cnblogs.com/liuqun/p/13622302.html