beego发邮件服务--邮箱
  chunBooBRDn1 2023年11月02日 62 0

将用户的信息,存储到数据库中以后,接下来可以给用户发送一封邮件,并且告诉用户只有去邮箱中激活以后,才能进行登录。

给用户发送邮件一个很重要的好处就是,可以判断用户在注册时输入的邮箱是否正确。

只有正确地用户邮箱,才有意义,例如:当我们的网站上架一款新产品时,可以给注册的用户发送邮件,通知其新上架的产品信息。

SMTP服务器就是邮件代收发服务器,由邮件服务商提供,常见的SMTP服务器端口号:
QQ邮箱:SMTP服务器地址:​​​smtp.qq.com​​​(端口:587)
雅虎邮箱: SMTP服务器地址:​​​smtp.yahoo.com​​​(端口:587)
163邮箱:SMTP服务器地址:​​​smtp.163.com​​​(端口:25)
126邮箱: SMTP服务器地址:​​​smtp.126.com​​​(端口:25)
新浪邮箱: SMTP服务器地址:​​​smtp.sina.com​​(端口:25)

第一:指定发送邮件的配置信息。

config := `{"username":"563364657@qq.com","password":"kufzjehabgesbceb","host":"smtp.qq.com","port":587}`

这里指定了发件人的邮箱名称,对应的发送密码,对应SMTP服务器,以及对应的端口号。

这里我们使用的是QQ的邮箱,所以SMTP服务器指的是QQ的SMTP服务器地址,如果发件人使用的是163的邮箱,这里需要指定的163的SMTP服务器地址:​​smtp.163.com​

第二:根据配置信息,创建一个EMAIL的对象

temail:=utils.NewEMail(config)

第三:通过EMAIL对象中的属性。指定,发件人邮箱,收件人邮箱,邮件标题,以及邮件的内容。

temail.To = []string{user.Email}//指定收件人邮箱地址,就是用户在注册时填写的邮箱地址
temail.From = "563364657@qq.com"//指定发件人的邮箱地址,这里我们使用的QQ邮箱。
temail.Subject = "用户激活"//指定邮件的标题
//指定邮件的内容。该内容发送到用户的邮箱中以后,该用户打开邮箱,可以将该URL地址复制到地址栏中,敲回车键,就会向该指定的URL地址发送请求,我们在该地址对应的方法中,接收该用户的ID,然后根据该Id,查询出用户的信息后,将其对应的一个属性,Active设置为true,表明用户已经激活了,那么用户就可以登录了。
temail.HTML = "复制该连接到浏览器中激活:127.0.0.1:8088/active?id="+strconv.Itoa(user.Id)

第四:发送邮件

调用EMAIL对象中的send方法发送邮件,如果邮件发送失败,给用户相应的提示并且重新返回到注册页面,让用户填写相应的信息,如果邮件发送成功,也要给出相应的提示。

err = temail.Send()
if err != nil{
this.Data["errmsg"] = "发送激活邮件失败,请重新注册!"
this.TplName = "register.html"
return
}

this.Ctx.WriteString("注册成功,请前往邮箱激活!")

发送成功后邮箱显示图下


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: fastdfs与nginx整合 下一篇: 雪崩
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  ehrZuhofWJiC   2024年05月17日   45   0   0 服务器linux
chunBooBRDn1