技术点:go使用gomail包进行邮件发送

  1. 获取包
ssh 复制代码
go get gopkg.in/gomail.v2
  1. 简单代码示例
go 复制代码
package main

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

func main() { // 创建新的邮件消息
	m := gomail.NewMessage()
	// 设置邮件头部信息
	m.SetHeader("From", "478297605@qq.com") // 发送方
	m.SetHeader("To", "29351232@qq.com")    // 接收方
	//m.SetHeader("To", "3464392505@qq.com")                 // 接收方
	m.SetHeader("Subject", "如果你很久没有学习过新知识,那你完了")           // 邮件主题
	m.SetBody("text/html", "<h2>比如这封用go-server发送的邮件</h2>") // 邮件内容,支持HTML格式
	// 设置邮件服务器信息
	d := gomail.NewDialer("smtp.qq.com", // SMTP服务器地址
		25,                 // 端口号
		"478297605@qq.com", // 发件人邮箱账号
		"邮箱密码或者smtp服务授权码", // 发件人邮箱密码
	)
	// 发送邮件
	if err := d.DialAndSend(m); err != nil {
		panic(err) // 错误处理
	}
}

让我们逐步解析这个示例。

首先,我们通过 gomail.NewMessage() 创建了一封新邮件。SetHeader() 用来设置邮件的各项头部信息,包括发件人地址、收件人地址和邮件主题。

SetBody() 则定义了邮件的内容,在这个例子中,我们使用 HTML 格式来定义邮件正文,但你也可以选择纯文本格式。

接下来,我们使用 gomail.NewDialer() 来设置邮件服务器的信息。这里需要指定 SMTP 服务器的主机地址、端口号、发件人账号和密码。

在这个例子中,我们使用了网易的 SMTP 服务器。如果你使用其他服务商,比如 Gmail 或 QQ 邮箱,只需要根据各自的 SMTP 服务器地址和端口号进行修改即可。

最后,通过 d.DialAndSend(m) 这一行代码来发送邮件。这个方法会建立与 SMTP 服务器的连接并发送邮件。如果邮件发送过程中出现错误,Gomail 会返回一个错误信息,我们可以通过简单的错误处理逻辑来捕捉和处理这些异常情况。

相关推荐
2401_8734794028 分钟前
如何利用IP查询定位识别电商刷单?4个关键指标+工具配置方案
开发语言·tcp/ip·php
我爱cope1 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
菜鸟学Python1 小时前
Python生态在悄悄改变:FastAPI全面反超,Django和Flask还行吗?
开发语言·python·django·flask·fastapi
浪浪小洋2 小时前
c++ qt课设定制
开发语言·c++
charlie1145141912 小时前
嵌入式C++工程实践第16篇:第四次重构 —— LED模板,从通用GPIO到专用抽象
c语言·开发语言·c++·驱动开发·嵌入式硬件·重构
故事和你912 小时前
洛谷-数据结构1-4-图的基本应用1
开发语言·数据结构·算法·深度优先·动态规划·图论
程序猿编码3 小时前
给你的网络流量穿件“隐形衣“:手把手教你用对称加密打造透明安全隧道
linux·开发语言·网络·安全·linux内核
aq55356004 小时前
编程语言三巨头:汇编、C++与PHP大比拼
java·开发语言
aq55356004 小时前
PHP vs Python:30秒看懂核心区别
开发语言·python·php
我是无敌小恐龙4 小时前
Java SE 零基础入门Day01 超详细笔记(开发前言+环境搭建+基础语法)
java·开发语言·人工智能·opencv·spring·机器学习