golong实现邮件发送
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实现邮件发送相关推荐
- 邮件发送类,支持HTML格式,支持优先级设置
www.chinacs.net 2002-5-9 中文C#技术站 邮件发送类,支持HTML格式,支持优先级设置.通过SOCKET类实现的 using System; using System.Te ...
- 使用Spring实现邮件发送
2019独角兽企业重金招聘Python工程师标准>>> 这两天写个小程序需要使用邮件发送的功能,在网上搜索了一帮子文章,感觉还是使用Spring的邮件发送功能比较方便,哈哈,懒人就这 ...
- python邮件发送哪个好_最全总结!聊聊 Python 发送邮件的几种方式
1. 前言 邮件,作为最正式规范的沟通方式,在日常办公过程中经常被用到 我们都知道 Python内置了对 SMTP 的支持,可以发送纯文本.富文本.HTML 等格式的邮件 本文将聊聊利用 Python ...
- CentOS搭建msmtp+mutt实现邮件发送
1:搭建配置msmtp 下载msmtp包: 官方地址:http://msmtp.sourceforge.net/download.html 编译,安装(官方下载的包为tar.xz格式): #xz -d ...
- 利用phpmailer类邮件发送
<?phprequire("class.phpmailer.php"); //下载的文件必须放在该文件所在目录$mail = new PHPMailer(); //建立邮件发 ...
- python 数据库查询结果邮件提醒_Python实现的查询mysql数据库并通过邮件发送信息功能...
本文实例讲述了Python实现的查询mysql数据库并通过邮件发送信息功能.分享给大家供大家参考,具体如下: 这里使用Python查询mysql数据库,并通过邮件发送宕机信息. Python代码如下: ...
- JavaMail邮件发送不成功的那些坑人情况及分析说明
前言 JavaMail的使用本身并不难,网上有不少案例,简单易懂,而且有详细的中文注解.但是由于JavaMail的机制设置不够完善,特别是异常出错时的参考信息太少,给初学者造成了不少麻烦,而我就是 ...
- 邮件发送 --- 纯Java、JavaWeb、Spring三种实现方式
邮件发送学习笔记~ 一.邮件发送介绍 要在网络上实现邮件功能,必须要有专门的邮件服务器! 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中! ...
- 使用UTL_MAIL包实现存储过程邮件发送(转)
邮件通知预警和提示在当前系统中已经是一个比较常见的功能.各类型语言分别针对邮件提供了功能包和API接口方法,本篇介绍如何在PL/SQL代码中使用UTL_MAIL工具包发送邮件,同时还介绍配置中注意的细 ...
最新文章
- Nagios监控Windows server 2003 系统
- OpenStack技术峰会PPT集萃
- 2022.3.25黄花酢浆草
- 语言古诗默写_小学生背诵默写古诗文是否合理且必要?专家热议教育“减负”...
- 游戏编程技巧分析:策划变心太快?也许可以使用组合
- C++编程思想:C++string
- 小米MIX 4概念渲染图曝光:无孔屏下摄像头果真科幻
- 图的存储结构之邻接表(详解)
- 汇编 第二章 寄存器
- mobi电子书中删除多余的空格
- 全网软件:高级信息搜索数据采集软件 InfoSeek FastSeek
- fudannlp java_中文NLP工具
- 最大子列和问题(C语言)
- Cocos Creator + TiledMap制作瓦片地图部分经验总结
- Thinkpad E430c安装Ubuntu14.04第三方驱动的选择
- 小程序返回页面报错:navigateBack:fail cannot navigate back at first page.
- python 文件名变量_如何将变量文件名传递给python ete?
- 关于printf的输出——进制转换
- 评测3款高颜值的安卓txt阅读器
- 【软件实现实验三:迷宫】