type
status
date
slug
summary
tags
category
icon
password

邮件协议

各种事物都有一个规范,也就是协议,比如我们在浏览器里面浏览网页,需要遵循各种网络协议,我们先来简单了解一下都有哪些协议
  1. SMTP
    1. SMTP是 简单邮件传输协议,是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。它通常在 25、465、587 端口上运行。
      另外 SMTP 协议属于TCP/IP协议簇
  1. POP3
    1. 邮局协议的第3个版本,是因特网电子邮件的第一个离线协议标准(邮件服务器下载邮件到本地计算机后,可以断开网络连接继续查看邮件内容)。下载后邮件会从服务器删除。
  1. IMAP
    1. 是一种优于POP的新协议,与POP不同的是,他是典型的在线协议。和POP一样,IMAP也能下载邮件、从服务器中删除邮件或询问是否有新邮件。
      IMAP可让用户在服务器上创建并管理邮件文件夹或邮箱、删除邮件、查询某封信的一部分或全部内容。
      最终完成所有这些工作都不需要把邮件从服务器下载到用户的个人计算机上。

一些基础的配置

  • QQ邮箱的设置:需要打开POP3/SMTP服务
notion image
notion image
notion image
温馨提示:在使用 QQ 邮箱发送邮件的时候,需要使用授权码,而不是 QQ 密码!

开始编码

发送第一个简单的邮件

首先从一个简单的代码开始
结果如下:
notion image

解释一下:

  1. 创建 SMTP 客户端:使用 smtp.NewClient 创建一个新的 SMTP 客户端。
  1. 认证:使用 client.Auth 方法进行认证。
  1. 设置发件人和收件人:使用 client.Mailclient.Rcpt 方法设置发件人和收件人。
  1. 写入邮件内容:使用 client.Data 方法获取一个 io.WriteCloser,然后使用 Write 方法将邮件内容写入。
在这些步骤中,client.Data方法实际上已经开始了邮件的发送过程,而Write方法则将邮件内容写入到 SMTP 服务器中。

怎么调整格式?

我们希望我们发的邮件不仅仅是几个文字,我们希望这些文字有一定的格式,例如:一级标题,二级标题,居中等等。
所以我们采用将正文调整成 html 的样式,这样渲染的时候就可以实现我们想要的格式。
运行结果:
notion image

解释一下:

  1. cid是什么?
    1. cidContent-ID的缩写,用于标识 MIME 消息(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展 是一种互联网标准,最初设计用于扩展电子邮件的功能,使其支持不仅仅是纯文本内容,还可以包含多种格式的内容)中的资源。
      它是一个唯一的标识符,通常通过 HTML 中的 <img> 或其他标签引用。例如:表示邮件正文中的图片资源,其 Content-IDimage001
  1. 为什么需要cid
    1. 邮件客户端默认会阻止外部图片(<img src="https://...">)的加载,除非用户明确允许。而使用 cid 将图片嵌入到邮件中,可以避免外部图片的加载限制,确保图片能够直接显示。

怎么添加附件?

运行结果:
notion image

有没有其他方法

主播主播,你的方法确实强,但太吃操作了,有没有更加简单又强势的方法推荐一下?有的兄弟有的!这么强的方法当然是不止一个,一共有九位,都是当前版本T0.5的强势方法。掌握一到两个方法,当个小皇帝都没有问题……
  • gomail
  • email
 
板子git commit 规范
Serendipity
Serendipity
From CCNU
Announcement
type
status
date
slug
summary
tags
category
icon
password
本网站部署于国外服务器,国内访问较慢。多刷新或挂梯子。