美文网首页
Golang使用SMTP发送邮件

Golang使用SMTP发送邮件

作者: 懒人程序猿 | 来源:发表于2020-04-07 17:21 被阅读0次

使用SMTP发送邮件

import (
    "fmt"
    "net/smtp"
)

const (
    // 邮件服务器地址
    SMTP_MAIL_HOST  = "smtp.126.com"
    // 端口
    SMTP_MAIL_PORT  = "25"
    // 发送邮件用户账号
    SMTP_MAIL_USER  = "username@126.com"
    // 授权密码
    SMTP_MAIL_PWD   = ""
    // 发送邮件昵称
    SMTP_MAIL_NICKNAME  = "SMTPMail"
)

func SendMail(address []string, subject string, body string) (err error) {
    // 通常身份应该是空字符串,填充用户名.
    auth := smtp.PlainAuth("", SMTP_MAIL_USER, SMTP_MAIL_PWD, SMTP_MAIL_HOST)
    contentType := "Content-Type: text/html; charset=UTF-8"
    for _, v := range address {
        s := fmt.Sprintf("To:%s\r\nFrom:%s<%s>\r\nSubject:%s\r\n%s\r\n\r\n%s",
            v, SMTP_MAIL_NICKNAME, SMTP_MAIL_USER, subject, contentType, body)
        msg := []byte(s)
        addr := fmt.Sprintf("%s:%s", SMTP_MAIL_HOST, SMTP_MAIL_PORT)
        err = smtp.SendMail(addr, auth, SMTP_MAIL_USER, []string{v}, msg)
        if err != nil {
            return err
        }
    }
    return
}

发送邮件测试

func main() {
    address := []string{"111@qq.com", "111222@gmail.com"}
    fmt.Println(mail.SendMail(address, "golang smtp mail", "golang smtp mail"))
}

邮箱如下

image.png image.png

相关文章

网友评论

      本文标题:Golang使用SMTP发送邮件

      本文链接:https://www.haomeiwen.com/subject/lhinphtx.html