两种go发送邮件的方式

方法一

go标准库中net/smtp
使用方式如下所示:


func SentToEmail(user, password, host, to, subject, body string) error {
    hp := strings.Split(host, ":")
    auth := smtp.PlainAuth("", user, password, hp[0])
    content_type := "Content-Type: text/plain;charset=UTF-8"

    s := fmt.Sprintf("To:%s\r\nFrom:%s<%s>\r\nSubject:%s\r\n%s\r\n\r\n%s",
        to, "goblog", user, subject, content_type, body)
    msg := []byte(s)

    err := smtp.SendMail(host, auth, user, []string{to}, msg)
    return err
}

方法二

go第三方库gomail
使用方法如下所示:

func Send(from, to, code string) error {
    // 配置邮件信息
    m.SetAddressHeader("From", from, /*发送方名称*/)
    m.SetHeader("To", to)
    m.SetHeader("Subject", /*邮件标题*/)
    // m.Embed()
    m.SetBody(/*邮件内容类型*/, /*邮件内容*/)

    // 发生邮件
    d := gomail.NewDialer(/*host*/, /*对应端口号*/, from, /*邮箱检验码*/)

    err := d.DialAndSend(m)
    if err != nil {
        logger.LogError(err)
        return err
    }
    return nil
}

注意两种方法 邮箱检验码是需要在邮箱内部设置的

参考连接:blog.csdn.net/yuyinghua0302/articl...

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!