beego发送邮件

与邮件相关的系统库

1, net/mail

实现邮件消息的解析,参见RFC 5322。

Address:表示邮件地址
Header:表示邮件头中的键值对(Key-Value Pairs)
Message:表示已经解析了的邮件

2, net/smtp
实现SMTP协议(Simple Mail Transfer Protocol, 简单邮件传输协议) ,参见RFC 5321。

Auth:接口,用于实现smtp认证机制,smtp有三种认证方法:LOGIN, PLAIN, CRAM-MD5。net/smtp实现了后两种。

Client:连接SMTP服务器的客户端

ServerInfo:记录SMTP服务器的信息

发送邮件方法

func SendMail(addr string, a Auth, from string, to []string, msg []byte) error

使用 SendMail 方法发送邮件时需要提供Auth对象,并对邮件头和邮件体进行编码,比较繁琐。这里使用beego提供的工具类来发送邮件。

package main
 
import (
    "fmt"
 
    "github.com/astaxie/beego/utils"
)
 
func main() {
    config := `{"username":"347341200@qq.com","password":"授权码","host":"smtp.qq.com","port":587}`
    email := utils.NewEMail(config)
    email.To = []string{"leitiannet@163.com"}
    email.From = "347341200@qq.com"
    email.Subject = "beego-邮件测试"
    email.Text = "邮件正文"
    email.HTML = "<h1>hello world</h1>"
    // email.AttachFile("1.jpg") // 附件
    // email.AttachFile("1.jpg", "1") // 内嵌资源
    err := email.Send()
    if err != nil {
        fmt.Println(err)
        return
    }
}


对于QQ邮箱缺省是关闭 POP3/SMTP 服务的,需要登录邮箱进行开启。具体步骤参见 Go实战--通过net/smtp发送邮件(The way to go)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值