golang:第三方库:用jordan-wright/email发送邮件

news/2024/12/14 13:08:40/文章来源:https://www.cnblogs.com/architectforest/p/18602840

一,安装第三方库:

$ go get -u github.com/jordan-wright/email
go: downloading github.com/jordan-wright/email v4.0.1-0.20210109023952-943e75fe5223+incompatible
go: added github.com/jordan-wright/email v4.0.1-0.20210109023952-943e75fe5223+incompatible

二,代码:

1,发送邮件函数

package serviceimport ("crypto/tls""fmt""github.com/jordan-wright/email""net/smtp"
)//发送邮件,to:收件人,
//subject:标题
//content:邮件内容
func SendOneEmail(to,subject,content string) error {//定义发件邮箱密码等 信息frombox:="chinal@163.com"       //发件邮箱fromUser:="管理员 <chinal@163.com>"    //显示的用户名smtpNoPort:="smtp.163.com"      //hostsmtpPort:= "smtp.163.com:465"   //host带portsmtpAuthPass :="Bxxxxxxxxxx4"   //auth pass//执行邮件发送e := email.NewEmail()e.From = fromUser     //要显示用户名e.To = []string{to}   //收件人// 主要就是在这里添加了抄送人cc以及秘密抄送人bcc//e.Cc = []string{"1315381111@qq.com"}//e.Bcc = []string{"1315381111@qq.com"}e.Subject = subject//text是文本型内容,HTML是网页型内容//e.Text = []byte("测试抄送和密码抄送邮件,收到可以忽略")e.HTML = []byte(content)//登录验证auth:=smtp.PlainAuth("", frombox, smtpAuthPass, smtpNoPort)//send方法表示不使用tls,SendWithTLS则使用tls//err := e.Send(smtpPort, auth)err := e.SendWithTLS(smtpPort, auth, &tls.Config{ServerName: smtpNoPort})if err != nil {fmt.Println(err)return err}return nil
}

2,调用:

    //准备需要的数据email:="laoliu@niubi.com"    //收件人subject:="重置密码信息"        //标题//内容html:="密码重置<br>您好"+username+"!<br/>你已经请求了重置密码,可以点击下面的链接来重置密码。<br><br><br>"//发送邮件err2:=service.SendOneEmail(email,subject,html)

三,效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/852484.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为了改一行代码,我花了10多天时间,让性能提升了40多倍---Pascal架构GPU在vllm下的模型推理优化

ChatGPT生成的文章摘要 这篇博客记录了作者在家中使用Pascal显卡运行大型模型时遇到的挑战和解决方案。随着本地大型模型性能的提升,作者选择使用vllm库进行推理。然而,作者遇到了多个技术难题,需要自行编译vllm和PyTorch,以支持Pascal架构的显卡。编译过程中,作者深入研究…

vxe-table 实现复选框分页跨页勾选

vxe-table 实现复选框分页跨页勾选 官网:https://vxetable.cn 当使用数据分页与复选框多页勾选时,可以通过 checkbox-config.reserve 启用<template><div><vxe-button status="success" @click="getSelectEvent">获取已选</vxe-but…

键盘录入学生信息到集合

1.要求:思路:题目要求我们要录入三个学生对象,我们可以先完成一次学生录入,再使用三次循环即可完成三次学生录入 第一步,写好学生类 第二步,创建集合,用于储存学生对象第三步,使用键盘录入学生信息注意,因为有数字要录入,所以这里录入字符串要选择next() 第四步,创…

2024-2025-1 20241329 《计算机基础与程序设计》第十二周学习总结

作业信息 作业归属课程:2024-2025-1-计算机基础与程序设计 作业要求:2024-2025-1计算机基础与程序设计第十二周作业 作业目标:《C语言程序设计》第11章 作业正文:2024-2025-1 20241329 《计算机基础与程序设计》第十二周学习总结 教材学习内容总结 《C语言程序设计》第11章…

四六级规则及策略

四六级规则:1写作,2听力,3阅读和翻译满分710,加权后425分(也就是分数到百分之60)及格。加权,就是英语最后成绩不仅取决于卷面分还取决于在参考人群中的排名 策略: 先section C再翻译,最后section B。section A随便蒙。

阅记-横向优化-CA-《HPC-一文彻底搞懂并发编程与内存屏障》intel

目录Momory Ordering9.2.3.2 Neither Loads Nor Stores Are Reordered9.2.3.3 Stores Are Not Reordered With Earlier Loads9.2.3.4 Loads May Be Reordered with Earlier Stores (intel x64架构下唯一会有memory reorder的情况)内存屏障的实现 参考:HPC(高性能计算第一篇):一…

阅记-横向优化-底层架构-《HPC-一文彻底搞懂并发编程与内存屏障》

目录Momory Ordering9.2.3.2 Neither Loads Nor Stores Are Reordered9.2.3.3 Stores Are Not Reordered With Earlier Loads9.2.3.4 Loads May Be Reordered with Earlier Stores (intel x64架构下唯一会有memory reorder的情况)内存屏障的实现 参考:HPC(高性能计算第一篇):一…

2024-2025-1 20241322 《计算机基础与程序设计》第十二周学习总结

2024-2025-1 20241322 《计算机基础与程序设计》第十二周学习总结 作业信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK12这个作业的目标 《C语言程序设计》第11章作业…

20222415 2024-2025-1 《网络与系统攻防技术》实验七实验报告

1.实验内容 1.实验内容 (1)简单应用SET工具建立冒名网站 (2)ettercap DNS spoof (3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。 2.实验过程 (1)简单应用SET工具建立冒名网站 systemctl start apache2开启apache2服务,然后输入setoolkit,进入set工具后选…

网站修改费,网站维护和更新的费用如何计算

网站修改费用因项目复杂度和工作量而异。一般考虑以下因素:工作量:根据修改内容的多少和难度评估工作量。 时间成本:根据开发人员的小时费率计算总费用。 技术难度:涉及复杂功能或特殊技术的项目费用较高。 维护周期:长期维护合同通常会有优惠。 客户需求:根据客户的具体…