1. 发送邮件包

package myMailimport ("crypto/tls""fmt""github.com/go-admin-team/go-admin-core/sdk/config"ext "go-admin/config""net/smtp""strings""time"
)type MyEmail struct{Host stringPort stringAuthUser stringAuthPass string
}func (e *MyEmail)SendEmail(mailTo string, subject string, body string) (bool, error) {//这里是从配置文件读邮件服务器配置信息cfg, _ := config.ExtendConfig.(*ext.Extend)emailCfg := cfg.Emailcfg//没有配置文件直接赋值就行了smtpHost := emailCfg.HostsmtpPort := emailCfg.PortsmtpUser := emailCfg.AuthusersmtpPass := emailCfg.AuthpasstoSendList := mailTot := time.Now()year,month,day := t.Date()curTime := fmt.Sprintf("%d-%d-%d %d:%d",year,month,day,t.Hour(),t.Minute())auth := smtp.PlainAuth("", smtpUser,smtpPass,smtpHost)to := strings.Split(toSendList,",")header := make(map[string]string)header["From"] = smtpUserheader["To"] = mailToheader["Date"] = curTimeheader["Subject"] = subjectheader["Content-Type"] = "text/html;charset=UTF-8"msg := ""for k,v := range header{msg += fmt.Sprintf("%s:%s\r\n",k,v)}msg += "\r\n"+bodyconn,err := tls.Dial("tcp",smtpHost+":"+smtpPort,nil)if err != nil {HandleWarning(err)}co,err := smtp.NewClient(conn,smtpHost)if err != nil {HandleWarning(err)}defer co.Close()if auth != nil {if ok,_ := co.Extension("AUTH");ok {if err = co.Auth(auth);err != nil {HandleError(err)}}}if err = co.Mail(smtpUser); err != nil {HandleError(err)}for _,addr := range to {if err = co.Rcpt(addr); err != nil {HandleWarning(err)}}w,err := co.Data()if err != nil {HandleWarning(err)}_,err = w.Write([]byte(msg))if err != nil {HandleWarning(err)}err = w.Close()if err != nil {HandleWarning(err)}co.Quit()return true,nil
}func HandleWarning(err error) {//怎么处理警告可以在这里定义
}
func HandleError(err error) {//怎么处理错误可以在这里定义
}

2. 使用

func sendReviewMail(mailInfo MailInfo) (b bool,err error){subject := mailInfo.PrjNmEn + "项目 服务器申请"body := mailInfo.PrjNmEn + "项目,服务器申请已提交,请尽快审批"mailTo := "liubei-cto@xxx.com.cn"email := myMail.MyEmail{}b,err = email.SendEmail(mailTo,subject,body)if err != nil {return false,err}return b,nil
}

golong实现邮件发送相关推荐

  1. 邮件发送类,支持HTML格式,支持优先级设置

    www.chinacs.net  2002-5-9  中文C#技术站 邮件发送类,支持HTML格式,支持优先级设置.通过SOCKET类实现的 using System; using System.Te ...

  2. 使用Spring实现邮件发送

    2019独角兽企业重金招聘Python工程师标准>>> 这两天写个小程序需要使用邮件发送的功能,在网上搜索了一帮子文章,感觉还是使用Spring的邮件发送功能比较方便,哈哈,懒人就这 ...

  3. python邮件发送哪个好_最全总结!聊聊 Python 发送邮件的几种方式

    1. 前言 邮件,作为最正式规范的沟通方式,在日常办公过程中经常被用到 我们都知道 Python内置了对 SMTP 的支持,可以发送纯文本.富文本.HTML 等格式的邮件 本文将聊聊利用 Python ...

  4. CentOS搭建msmtp+mutt实现邮件发送

    1:搭建配置msmtp 下载msmtp包: 官方地址:http://msmtp.sourceforge.net/download.html 编译,安装(官方下载的包为tar.xz格式): #xz -d ...

  5. 利用phpmailer类邮件发送

    <?phprequire("class.phpmailer.php"); //下载的文件必须放在该文件所在目录$mail = new PHPMailer(); //建立邮件发 ...

  6. python 数据库查询结果邮件提醒_Python实现的查询mysql数据库并通过邮件发送信息功能...

    本文实例讲述了Python实现的查询mysql数据库并通过邮件发送信息功能.分享给大家供大家参考,具体如下: 这里使用Python查询mysql数据库,并通过邮件发送宕机信息. Python代码如下: ...

  7. JavaMail邮件发送不成功的那些坑人情况及分析说明

    前言   JavaMail的使用本身并不难,网上有不少案例,简单易懂,而且有详细的中文注解.但是由于JavaMail的机制设置不够完善,特别是异常出错时的参考信息太少,给初学者造成了不少麻烦,而我就是 ...

  8. 邮件发送 --- 纯Java、JavaWeb、Spring三种实现方式

    邮件发送学习笔记~ 一.邮件发送介绍 要在网络上实现邮件功能,必须要有专门的邮件服务器! 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中! ...

  9. 使用UTL_MAIL包实现存储过程邮件发送(转)

    邮件通知预警和提示在当前系统中已经是一个比较常见的功能.各类型语言分别针对邮件提供了功能包和API接口方法,本篇介绍如何在PL/SQL代码中使用UTL_MAIL工具包发送邮件,同时还介绍配置中注意的细 ...

最新文章

  1. Nagios监控Windows server 2003 系统
  2. OpenStack技术峰会PPT集萃
  3. 2022.3.25黄花酢浆草
  4. 语言古诗默写_小学生背诵默写古诗文是否合理且必要?专家热议教育“减负”...
  5. 游戏编程技巧分析:策划变心太快?也许可以使用组合
  6. C++编程思想:C++string
  7. 小米MIX 4概念渲染图曝光:无孔屏下摄像头果真科幻
  8. 图的存储结构之邻接表(详解)
  9. 汇编 第二章 寄存器
  10. mobi电子书中删除多余的空格
  11. 全网软件:高级信息搜索数据采集软件 InfoSeek FastSeek
  12. fudannlp java_中文NLP工具
  13. 最大子列和问题(C语言)
  14. Cocos Creator + TiledMap制作瓦片地图部分经验总结
  15. Thinkpad E430c安装Ubuntu14.04第三方驱动的选择
  16. 小程序返回页面报错:navigateBack:fail cannot navigate back at first page.
  17. python 文件名变量_如何将变量文件名传递给python ete?
  18. 关于printf的输出——进制转换
  19. 评测3款高颜值的安卓txt阅读器
  20. 【软件实现实验三:迷宫】

热门文章

  1. Canvas生成图片
  2. 有效使用关键词,增加亚马逊销售额
  3. python3如何使用元类
  4. 使用 OpenGL 实现线型动画的教程来啦!
  5. 视频消重软件百度云 修改视频md5为原创吸粉
  6. max日期最大值为0_Excel中的MAX,这5种不一样的使用技巧,看你知道几个
  7. Silverlight 中的利萨茹动画
  8. 用计算机隐藏功能撩妹,对于撩妹,华为手机隐藏功能可以帮你,确定不来了解一下?...
  9. linux命令tar解压到指定目录下,关于linux下tar命令解压到指定的目录的方法
  10. 向陈越姥姥哭诉----关键活动