golang 通过 smtp 发送邮件
deepdata · · 5411 次点击 · · 开始浏览package main
import(
"fmt"
"net/smtp"
"encoding/base64"
)
//html,plain
func SendMail( title,user,pswd,smtpserver,port,from,to,subject,body,format string ) error {
bs64 := base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")
header := make(map[string]string)
header["From"] = title+"<"+from+">"
header["To"] = to
header["Subject"] = fmt.Sprintf("=?UTF-8?B?%s?=", bs64.EncodeToString([]byte(subject)))
header["MIME-Version"] = "1.0"
header["Content-Type"] = "text/"+format+"; charset=UTF-8"
header["Content-Transfer-Encoding"] = "base64"
data := ""
for k, v := range header {
data += k+": "+v+"\r\n"
}
data += "\r\n" + bs64.EncodeToString([]byte(body))
err := smtp.SendMail( smtpserver+":"+port,smtp.PlainAuth("",user,pswd,smtpserver),from,[]string{to},[]byte(data) )
return err
}
func main(){
title := "DeepData"
from := "info@deepdata.cn"
to := "123456@qq.com"
subject := "TEST SUBJECT"
body := "深数据 deepdata.cn"
smtpserver := "smtp.mxhichina.com"
pswd := "***password***"
err := SendMail( title,from,pswd,smtpserver,"25",from,to,subject,body,"plain" )
fmt.Println( err )
}
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
package main
import(
"fmt"
"net/smtp"
"encoding/base64"
)
//html,plain
func SendMail( title,user,pswd,smtpserver,port,from,to,subject,body,format string ) error {
bs64 := base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")
header := make(map[string]string)
header["From"] = title+"<"+from+">"
header["To"] = to
header["Subject"] = fmt.Sprintf("=?UTF-8?B?%s?=", bs64.EncodeToString([]byte(subject)))
header["MIME-Version"] = "1.0"
header["Content-Type"] = "text/"+format+"; charset=UTF-8"
header["Content-Transfer-Encoding"] = "base64"
data := ""
for k, v := range header {
data += k+": "+v+"\r\n"
}
data += "\r\n" + bs64.EncodeToString([]byte(body))
err := smtp.SendMail( smtpserver+":"+port,smtp.PlainAuth("",user,pswd,smtpserver),from,[]string{to},[]byte(data) )
return err
}
func main(){
title := "DeepData"
from := "info@deepdata.cn"
to := "123456@qq.com"
subject := "TEST SUBJECT"
body := "深数据 deepdata.cn"
smtpserver := "smtp.mxhichina.com"
pswd := "***password***"
err := SendMail( title,from,pswd,smtpserver,"25",from,to,subject,body,"plain" )
fmt.Println( err )
}