Go语言学习笔记——邮件库email

时间:2024-10-10 13:49:01

文章目录

  • Golang发送邮件库email
    • 邮件协议
    • 人性化的golang电子邮件库
    • 安装
    • 实例演示
      • 使用QQ发送电子邮件
      • 另一种创建电子邮件的方法
      • 创建电子邮件
      • 附加文件
      • 使用连接池来发送大量邮件
    • 官方文档


Golang发送邮件库email

邮件协议

使用编程语言需要遵守编程语言的规范,我们在浏览器里面浏览网页也是一样,需要遵循各种网络协议

那么,我们发送邮件的必须也要先知道有哪些邮件协议可以使用,咱们都来列举一下

  • SMTP

    SMTP是 简单邮件传输协议,是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式

    另外 SMTP 协议属于TCP/IP协议簇

  • POP3

    邮局协议的第3个版本,是因特网电子邮件的第一个离线协议标准

  • IMAP

    是一种优于POP的新协议

    POP一样,IMAP也能下载邮件、从服务器中删除邮件或询问是否有新邮件

    IMAP可让用户在服务器上创建并管理邮件文件夹或邮箱、删除邮件、查询某封信的一部分或全部内容

最终完成所有这些工作都不需要把邮件从服务器下载到用户的个人计算机上

人性化的golang电子邮件库

email包装设计的易于使用,足够灵活,不会受到限制。是一个非常人性化的golang邮件库

email库包目前支持以下内容:

  • 发件人、收件人、密件抄送和抄送字段
  • “ test@ ”和“< test@ >”格式的电子邮件地址
  • 文本和 HTML 消息正文
  • 附件
  • 阅读回执
  • 自定义标题

安装

 go get github.com/jordan-wright/email

注意:

  • 此库的版本>1需要 Go v1.5 或更高版本
  • 如果您需要与以前的Go版本进行兼容,可以使用/jordan-wright/email.v1中的以前的包

实例演示

使用QQ发送电子邮件

package main

import (
	"net/smtp"

	"/jordan-wright/email"
)

func main() {
   
	// 实例化返回一个结构体
	e := email.NewEmail()
	
	// From:谁发来的
	e.From = "Psych <517471271@>"
	
	// To:发给谁的
	e.To = []string{
   "517471271@"}<