Golang使用SMTP发送邮件

是个懒人 · · 2374 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

使用SMTP发送邮件

import (
    "fmt"
    "net/smtp"
    "strings"
)

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

/*
title 使用smtp发送邮件
@param string mailAddress 收件人邮箱,多个收件人使用英文逗号分开
@param string subject 邮件主题
@param string body 邮件内容
@return error
 */
func SendSMTPMail(mailAddress string, subject string, body string) error {
    // 通常身份应该是空字符串,填充用户名.
    auth := smtp.PlainAuth("", SMTP_MAIL_USER, SMTP_MAIL_PWD, SMTP_MAIL_HOST)
    // (text/plain)纯文本 , (text/html)html
    contentType := "Content-Type: text/html; charset=UTF-8"
    nickname := "SMTPMail"
    msg := []byte("To: " + mailAddress + "\r\nFrom: "+ nickname + "<" + SMTP_MAIL_USER + ">\r\nSubject: " + subject +
        "\r\n" + contentType + "\r\n\r\n" + body)
    sendTo := strings.Split(mailAddress, ",")
    err := smtp.SendMail(fmt.Sprintf("%s:%s", SMTP_MAIL_HOST, SMTP_MAIL_PORT), auth, SMTP_MAIL_USER, sendTo, msg)
    return err
}

发送邮件测试

func main() {
    SendSMTPMail("12345678@qq.com,12345678@gmail.com", 
        "hello,这是smtp测试邮件。", "这是golang-smtp的测试邮件")
}

邮箱如下

image.png
image.png

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:是个懒人

查看原文:Golang使用SMTP发送邮件

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2374 次点击  
加入收藏 微博
下一篇:11.函数
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传