go语言发送邮件(带附件)

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

package main

import (
“fmt”
“net/mail”
“net/smtp”
“time”

"github.com/scorredoira/email"

"github.com/Unknwon/com"
"github.com/astaxie/beego"

)

func main() {

from := beego.AppConfig.String("from")
password := beego.AppConfig.String("password")
smtpport := beego.AppConfig.String("smtpport")
smtpaddress := beego.AppConfig.String("smtpaddress")
tolist := beego.AppConfig.String("tolist")
subject := beego.AppConfig.String("subject")

body := beego.AppConfig.String("subject")
fmt.Println(body)
m := email.NewMessage(subject, body)

m.From = mail.Address{Name: "一花一世界", Address: from}
m.To = []string{tolist}
fmt.Println(m.To)

//检查附件是否存在
attachpath := beego.AppConfig.String("attachpath")
attachfilename := beego.AppConfig.String("attachfilename")
currentdate := time.Now().Format("20060102")
attachfile := attachpath + "\\" + attachfilename + "-" + currentdate + "_" + "v1.0" + ".rar"
fmt.Println("附件名:" + attachfile)

if isexist := com.IsExist(attachfile); isexist == false {
    fmt.Println("no attach")
    return
}

if err := m.Attach(attachfile); err != nil {
    fmt.Println("append attach error")
    return
}

auth := smtp.PlainAuth("", from, password, smtpaddress)
err := email.Send(smtpport, auth, m)
if err != nil {
    fmt.Println("send mail error!")
    fmt.Println(err)
} else {
    fmt.Println("send mail success!")
}

}

app.conf文件中的内容

=================

from=888888@163.com
password=888888
smtpport=smtp.163.com:25
smtpaddress=smtp.163.com

attachpath=D:\发版相关
attachfilename=1.0.6.2版本发布

tolist=**@qq.com
subject:=”hello”

body= “云TA的升级包,具体见附件。”


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

本文来自:CSDN博客

感谢作者:zistxym

查看原文:go语言发送邮件(带附件)

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

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