Go Simple Mail 项目教程

Go Simple Mail 项目教程

go-simple-mailGolang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP.项目地址:https://gitcode.com/gh_mirrors/go/go-simple-mail

1. 项目的目录结构及介绍

Go Simple Mail 项目的目录结构如下:

go-simple-mail/
├── LICENSE
├── README.md
├── attach.go
├── attach_old.go
├── attach_test.go
├── auth.go
├── email.go
├── email_test.go
├── go.mod
├── go.sum
├── header.go
├── header_test.go
├── message.go
├── smtp.go
├── smtp_test.go
└── example/
    └── main.go

目录结构介绍

  • LICENSE: 项目许可证文件。
  • README.md: 项目说明文档。
  • attach.go: 处理附件的代码文件。
  • attach_old.go: 旧版本的附件处理代码文件。
  • attach_test.go: 附件处理代码的测试文件。
  • auth.go: 处理SMTP认证的代码文件。
  • email.go: 处理邮件内容的代码文件。
  • email_test.go: 邮件内容处理代码的测试文件。
  • go.mod: Go模块文件,定义项目的依赖。
  • go.sum: Go模块的校验和文件。
  • header.go: 处理邮件头的代码文件。
  • header_test.go: 邮件头处理代码的测试文件。
  • message.go: 处理邮件消息的代码文件。
  • smtp.go: 处理SMTP连接的代码文件。
  • smtp_test.go: SMTP连接处理代码的测试文件。
  • example/: 示例代码目录,包含使用该包的示例程序。

2. 项目的启动文件介绍

项目的启动文件位于 example/main.go,该文件展示了如何使用 Go Simple Mail 包发送邮件。

启动文件内容

package main

import (
	"log"
	mail "github.com/xhit/go-simple-mail/v2"
	"time"
)

func main() {
	server := mail.NewSMTPClient()
	server.Host = "smtp.example.com"
	server.Port = 587
	server.Username = "your-email@example.com"
	server.Password = "your-email-password"
	server.Encryption = mail.EncryptionTLS
	server.KeepAlive = true
	server.ConnectTimeout = 10 * time.Second
	server.SendTimeout = 10 * time.Second

	smtpClient, err := server.Connect()
	if err != nil {
		log.Fatal(err)
	}

	email := mail.NewMSG()
	email.SetFrom("From Me <your-email@example.com>").
		AddTo("recipient@example.com").
		SetSubject("Email with Attachment")

	email.SetBody(mail.TextHTML, "<h1>This email contains an attachment</h1>")
	email.AddAttachment("path/to/file.pdf")

	err = email.Send(smtpClient)
	if err != nil {
		log.Println(err)
	} else {
		log.Println("Email Sent")
	}
}

启动文件介绍

  • server := mail.NewSMTPClient(): 创建一个新的SMTP客户端实例。
  • server.Host, server.Port, server.Username, server.Password: 配置SMTP服务器的主机、端口、用户名和密码。
  • server.Encryption: 设置加密方式,支持TLS和SSL。
  • server.KeepAlive: 设置保持连接。
  • server.ConnectTimeout, server.SendTimeout: 设置连接和发送的超时时间。
  • smtpClient, err := server.Connect(): 连接到SMTP服务器。
  • email := mail.NewMSG(): 创建一个新的邮件消息实例。
  • email.SetFrom(), email.AddTo(), email.SetSubject(): 设置邮件的发件人、收件人和主题。
  • email.SetBody(): 设置邮件正文。
  • email.AddAttachment(): 添加邮件附件。
  • email.Send(smtpClient): 发送邮件。

3. 项目的配置文件介绍

Go Simple Mail 项目没有独立的配置文件,所有的配置都在代码中进行。如上文所示,配置信息包括

go-simple-mailGolang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP.项目地址:https://gitcode.com/gh_mirrors/go/go-simple-mail

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭桢灵Jeremy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值