golang如何发送邮件(qq邮箱)

简介: golang如何发送邮件(qq邮箱)

golang发送邮件(qq邮箱)

前期准备

golang发送邮件的功能,我们今天介绍golang发送qq邮件,相信大家都有qq邮箱吧,操作起来比较便捷,使用golang发送邮件更是简单,相信大家看完都能上手操作并学会。

通过编码的方式发送邮件,即实际是调用qq邮箱提供的接口来进行邮件的发送,我们在编写该功能前,需要拿到qq邮箱的POP3/SMTP服务的授权码

  • 进入自己的qq邮箱->设置->账户->往下滑

  • 开启自己qq邮箱的POP3/SMTP服务,并拿到自己qq邮箱的授权码(支持临时生成),授权码长期有效建议保存

代码编写

package main
import (
   "fmt"
   "gopkg.in/gomail.v2"
)
func main() {
   m := gomail.NewMessage()
   //发送人
   m.SetHeader("From", "xxx@qq.com")
   //接收人
   m.SetHeader("To", "xxx@qq.com")
   //抄送人
   //m.SetAddressHeader("Cc", "xxx@qq.com", "xiaozhujiao")
   //主题
   m.SetHeader("Subject", "小佩奇")
   //内容
   m.SetBody("text/html", "<h1>新年快乐</h1>")
   //附件
   //m.Attach("./myIpPic.png")
   //拿到token,并进行连接,第4个参数是填授权码
   d := gomail.NewDialer("smtp.qq.com", 587, "xxx@qq.com", "xxxxxx")
   // 发送邮件
   if err := d.DialAndSend(m); err != nil {
      fmt.Printf("DialAndSend err %v:", err)
      panic(err)
   }
   fmt.Printf("send mail success\n")
}

效果展示

大家若是有有趣的想法使用golang实现,可以反馈,我们可以一起尝试和学习。

相关文章
|
6月前
|
数据采集 网络协议 Go
使用 GOLANG 发送邮件
使用 GOLANG 发送邮件
|
7月前
|
Go API 网络安全
Golang 语言怎么使用 gomail 库发送邮件?
Golang 语言怎么使用 gomail 库发送邮件?
183 0
|
10月前
|
网络协议 Go Cloud Native
如何使用 GOLANG 发送邮件
我们一起来回顾一下上一次咱们说到的GO 的验证码案例
107 0
|
10月前
|
Go Cloud Native
golang如何发送邮件(qq邮箱) |Go主题月
golang发送邮件的功能,我们今天介绍golang发送qq邮件,相信大家都有qq邮箱吧,操作起来比较便捷,使用golang发送邮件更是简单,相信大家看完都能上手操作并学会。
267 0
|
测试技术 Go 数据安全/隐私保护
Golang发送邮件
简述 Go 提供了一个 smtp(Simple Mail Transfer Protocol - 简单邮件传输协议)库作为其网络包的一部分,“net/smtp”公开了一些可立即使用的有用功能。 Gomail - 一个比较成熟的第三方包,提供了一个快速、简单的解决方案,可以轻松地发送电子邮件。 简述 Gomail 特性 使用 常用邮箱 开启服务 Go
9159 0
|
4天前
|
安全 Go
Golang深入浅出之-Go语言模板(text/template):动态生成HTML
【4月更文挑战第24天】Go语言标准库中的`text/template`包用于动态生成HTML和文本,但不熟悉其用法可能导致错误。本文探讨了三个常见问题:1) 忽视模板执行错误,应确保正确处理错误;2) 忽视模板安全,应使用`html/template`包防止XSS攻击;3) 模板结构不合理,应合理组织模板以提高可维护性。理解并运用这些最佳实践,能提升Go语言模板编程的效率和安全性,助力构建稳健的Web应用。
16 0
|
23小时前
|
安全 测试技术 Go
Golang深入浅出之-Go语言单元测试与基准测试:testing包详解
【4月更文挑战第27天】Go语言的`testing`包是单元测试和基准测试的核心,简化了测试流程并鼓励编写高质量测试代码。本文介绍了测试文件命名规范、常用断言方法,以及如何进行基准测试。同时,讨论了测试中常见的问题,如状态干扰、并发同步、依赖外部服务和测试覆盖率低,并提出了相应的避免策略,包括使用`t.Cleanup`、`t.Parallel()`、模拟对象和检查覆盖率。良好的测试实践能提升代码质量和项目稳定性。
6 1
|
23小时前
|
运维 监控 Go
Golang深入浅出之-Go语言中的日志记录:log与logrus库
【4月更文挑战第27天】本文比较了Go语言中标准库`log`与第三方库`logrus`的日志功能。`log`简单但不支持日志级别配置和多样化格式,而`logrus`提供更丰富的功能,如日志级别控制、自定义格式和钩子。文章指出了使用`logrus`时可能遇到的问题,如全局logger滥用、日志级别设置不当和过度依赖字段,并给出了避免错误的建议,强调理解日志级别、合理利用结构化日志、模块化日志管理和定期审查日志配置的重要性。通过这些实践,开发者能提高应用监控和故障排查能力。
8 1
|
23小时前
|
安全 Go
Golang深入浅出之-Go语言标准库中的文件读写:io/ioutil包
【4月更文挑战第27天】Go语言的`io/ioutil`包提供简单文件读写,适合小文件操作。本文聚焦`ReadFile`和`WriteFile`函数,讨论错误处理、文件权限、大文件处理和编码问题。避免错误的关键在于检查错误、设置合适权限、采用流式读写及处理编码。遵循这些最佳实践能提升代码稳定性。
5 0
|
1天前
|
安全 Unix Go
Golang深入浅出之-Go语言中的时间与日期处理:time包详解
【4月更文挑战第26天】Go语言的`time`包提供处理日期和时间的功能,包括`time.Time`类型、时间戳、格式化与解析。本文讨论了核心概念、常见问题(如时区处理、格式字符串混淆、超时控制和并发安全)及解决方法。推荐使用`time.LoadLocation`管理时区,熟悉时间格式规则,用`context`精确控制超时,并注意并发安全。文中通过代码示例展示了如何获取格式化时间、计算时间差以及创建定时任务。学习和应用这些知识可提高程序的健壮性和准确性。
15 2