首页 > 其他分享 >【go】【gomail】

【go】【gomail】

时间:2024-05-29 16:00:18浏览次数:7  
标签:return err golang go gomail message

@

目录


写在前面

  • 相关博文
  • 个人博客首页
  • 免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将完全由用户自行承担,本人不承担任何法律责任。

install

go get gopkg.in/gomail.v2

gomail


import (
	"gopkg.in/gomail.v2"
)

type Mail struct {
	Host string
	Port int
	User string
	Key string
	To []string
}
type Mail struct {
	*Email
	dial    gomail.SendCloser
	message *gomail.Message
}

func New() *Mail {
	m := &Mail{Email:*Email{}, message: gomail.NewMessage()}
	err := m.Dial()
	if err != nil {
		return nil
	}
	return m
}

func (m *Mail) Recovery() error {
	return m.Dial()
}

func (m *Mail) Dial() error {
	d := gomail.NewDialer(m.Host, m.Port, m.User, m.Key)
	s, err := d.Dial()
	if err != nil {
		return err
	}
	m.dial = s
	return nil
}

func (m *Mail) Send(subject, body string) error {
	m.message.SetHeader("From", m.User)
	m.message.SetHeader("To", m.To...)
	m.message.SetHeader("Subject", subject)
	m.message.SetBody("text/html", body)

	if err := gomail.Send(m.dial, m.message); err != nil {
		return err
	}
	return nil
}


参考资料

基础/标准库/第三方库


golang 导航


编程规范


算法|面试


项目


标签:return,err,golang,go,gomail,message
From: https://www.cnblogs.com/nones/p/18220490

相关文章

  • 逆向海淘商业模式案例分析 :hagobuy淘宝代购集运系统丨淘宝代购集运系统搭建
    淘宝代购集运系统是一个电子商务平台,它允许消费者购买来自不同在线零售商(如淘宝、天猫、京东等)的商品,并将这些商品统一运送到消费者的地址。下面将探讨淘宝代购集运系统的工作机制和优势:多平台API接口的集成实时数据同步:通过API接口,系统能够实时获取并同步电商平台上商品......
  • mongo db
    importrequestsimportpymongofromlxmlimportetreeclassHoust(object):def__init__(self):self.url="https://cs.lianjia.com/ershoufang/"self.headers={"User-Agent":"Mozilla/5.0(WindowsNT10......
  • TinaLinux 开机logo替换
    TinaLinux开机logo替换操作平台T113-S3Tina5.0spi-nandubi方案文章目录TinaLinux开机logo替换前言一、重新打包方案二、后期替换/应用层替换1.准备的新的logo文件2.查看分区(可以省略,只是为了了解)3.替换logo文件总结前言提示:这里可以添加本文要记录的大概内......
  • 2024-05-29:用go语言,给定一个只包含正整数的数组 nums,任务是通过多次操作最小化数组的
    2024-05-29:用go语言,给定一个只包含正整数的数组nums,任务是通过多次操作最小化数组的长度。每次操作可以从数组中选择两个不同的下标i和j,使得nums[i]和nums[j]均为正整数。然后,将nums[i]除以nums[j]的余数插入数组末尾,同时删除原始的两个元素。最终要求计算进行操作......
  • Go--生成excel表格,循环赋值并避免重复项
    先下载第三方依赖包:goget-ugithub.com/xuri/excelize/v2 假设原数据格式为:typeDatastruct{PsastringGroupstringOperatorstring} 将数据插入新生成的execl表格中,并且当group值相同时,只更新该group的operator值,即最终数据中,group没有......
  • 【go】【jwt】
    @目录写在前面installjwtgolangjwt参考资料基础/标准库/第三方库golang导航编程规范算法|面试项目写在前面相关博文个人博客首页免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将完全由用户自行承担,本人不承担任何法律责任。installjwtgogetgithub.com......
  • go的标准库之flag包和log包
    1、flag包用处:在Go语言中,flag包是用来解析命令行参数的例如:查看docker的版本-v就是命令行参数2种常用的用法:a、flag.Type(flag名,默认值,帮助信息) name:=flag.String("username","admin","这是一个用户名参数的描述") pwd:=flag.Int("password",123456,"这......
  • Golang中的三种指针
    三种类型的指针:类型用途备注普通类型指针传递对象的地址,不能做指针运算uintptr作为一段内容的首地址,可以做指针运算,GC不把uintptr当指针,uintptr无法持有对象。uintptr类型的目标会被回收。unsafe.Pointer不能做指针运算,可以用做在不同数据类型指针间转......
  • python社区宠物登记养宠交流系统vue+flask_django包调试pycharm
    有何创新之处(1)系统资源闭环整合,实现了综合功能高度集成。(2)采用DJANGO框架,开发软件更加方便、快捷、高效用户具体功能如下:1、社区管理员:注册、登录、个人信息管理、发帖管理、评论管理、宠物规范管理、社区用户管理、宠物类别管理、宠物信息管理(查询宠物信息,修改宠物信息,删......
  • 深入探索 MongoDB:高级索引解析与优化策略
    MongoDB是一种非常流行的NoSQL数据库,它支持丰富的索引类型和功能,以提高数据查询的效率和性能。本文将详细介绍MongoDB的高级索引,包括基本语法、常用命令、示例、应用场景、注意事项和总结。基本语法在MongoDB中,可以使用createIndex()方法创建索引,语法如下:db.col......