目录
1、smtp(Simple Mail Transfer Protocol)
3、imap4(Internet Mail Access Protocol)
3、确认服务器中是否存在一些关于mail的服务器,可以卸载。
一、背景
搭建监控系统时,发现可以通过内网邮箱推送告警信息,当时配置了qq邮箱进行推送,但是在内网的话无法接收外网邮件,所以是有必要掌握如何在内网搭建一套邮箱服务器。
二、搭建邮箱需要具备的基础知识
我们需要了解三个邮箱相关的协议:
1、smtp(Simple Mail Transfer Protocol)
简单邮件传输协议,工作在TCP的25端口。SMTP 是一种电子邮件协议,用于通过互联网从一个电子邮件帐户向另一个电子邮件帐户发送电子邮件。它是TCP/IP协议应用层的一部分。作为一种电子邮件协议,它建立了不同电子邮件客户端和帐户之间轻松信息交换的规则。这样,简单邮件传输协议就可以实现广泛的电子邮件传送。
SMTP工作原理
简单邮件传输协议创建了在电子邮件客户端和邮件服务器之间交换数据的过程。以下是smtp传输电子邮件的过程:
1)、打开 SMTP 连接
由于 SMTP 使用TCP(传输控制协议)作为传输协议,因此需要在客户端和服务器之间建立连接。然后电子邮件客户端可以使用 SMTP 命令(HELO 或 EHLO)启动电子邮件发送过程。
2)、传输电子邮件数据
客户端发送多个带有电子邮件内容的命令,例如电子邮件标题和电子邮件正文。
3)、邮件传输代理 (MTA)
服务器运行邮件传输代理 (MTA) 程序来检查收件人电子邮件地址的域名。如果与发件人的 IP 地址不同,它将查询域名系统 (DNS)以查找收件人的 IP 地址。
4)、关闭连接
一旦数据传输完成,客户端通知服务器。然后最后一步是服务器关闭连接。这样,在客户端打开新的 SMTP 连接之前,服务器不会收到任何其他电子邮件信息。
SMTP 命令
SMTP 命令是文本指令,告诉客户端或服务器如何操作数据以及如何处理数据。此外,它们还通过正确地将传输的数据提供给服务器来帮助客户端。
1)、HELO/EHLO:这些命令用于“Hello”并在客户端和服务器之间创建 SMTP 连接。
EHLO example.com
2)、MAIL FROM:这提供了有关发送电子邮件的人的详细信息。
MAIL FROM: <sender@example.com>
3)、RCPT TO:此命令用于指定电子邮件的收件人。如果有多个接收者,则客户端可以多次发送此命令。
RCPT TO: <recipient@example.com>
4)、DATA:准备并启动客户端和服务器之间的信息传输。
5)、RSET:此命令重置连接并清除所有先前传输的数据,而不关闭 SMTP 连接。当客户端错误地发送他们想要发送的信息时,通常会使用 RSET。
6)、QUIT:使用此命令,连接结束。
SMTP 协议端口
可以使用多个 SMTP 端口作为通信端点来发送电子邮件。在以前,简单邮件传输协议仅使用一个端口:25。现在,它可以使用其他端口,即 465、587 和 2525。
1)、端口 25:它是 SMTP 服务器之间连接的主要使用端口。然而,它经常被云服务提供商和 ISP 阻止,因为犯罪分子不断滥用它发送大量垃圾邮件。
2)、端口 465: 它供带有安全套接字层 (SSL) 的 SMTP 使用。但是,现代电子邮件系统不再使用此端口。
3)、端口 587:它现在恰好是现代应用程序用于电子邮件提交的最佳选择。通过此端口的 SMTP 连接实施 TLS 加密。
4)、端口 2525:它并未与简单邮件传输协议正式关联,但如果常用端口不可用,它可以作为替代方案。
2、pop3(Post Office Protocol)
邮局协议,用于电子邮件的接收,它使用TCP的110端口。常用的是第三版 ,所以简称为POP3。
POP3特点
1)、POP3现在依旧采用的是C/S的工作模式
2)、默认使用TCP/IP协议进行传输
3)、在TCP/IP协议簇中属于应用层协议
4)、POP3协议访问模式为离线模式,即需要将邮件下载至客户用户端才能进行查看,且在客户端上进行如删除邮件之类的操作服务器是无法接收到客户端的信息
5)、先POP3已经不再进行维护,功能性十分单一
POP3工作原理
基本上与SMTP无区别,都是建立连接--------接受邮件--------断开连接的操作方式,期间所使用依旧是tcp/ip协议,与SMTP不同的地方是,POP与IMAP都是接收邮件,且他们的服务器是由SMTP所给出的电子邮件
3、imap4(Internet Mail Access Protocol)
是一种用于电子邮件检索和管理的标准应用层协议,允许用户在其本地电子邮件客户端程序与远程邮件服务器之间进行交互式的邮件访问。IMAP协议起源于1986年,在后续的发展中经历了多次修订,目前普遍使用的是IMAP4rev1(RFC 3501)。
IMAP核心功能特性
相比POP3协议,IMAP协议要复杂很多,简单介绍其功能特性如下。
1)、邮件存储与同步:
IMAP协议允许邮件保留在服务器上,而不是像POP3那样默认情况下将邮件下载到本地后可能从服务器移除。这样用户可以从任何地方通过网络连接访问其完整的邮件存储库,实现多设备间的邮件同步。
2)、在线访问:
用户可以直接在邮件服务器上浏览、搜索、阅读、移动、删除邮件,所有的操作都会实时反映在服务器端,使得其他已连接的客户端也能立刻看到更新的结果。
3)、多文件夹支持:
IMAP提供了强大的文件夹管理功能,允许用户在服务器上创建、删除、重命名文件夹,并将邮件移动至不同的文件夹内,便于邮件分类和归档。
4)、部分下载与缓存机制:
支持仅下载邮件的部分内容,比如邮件头信息,用户可以选择性地下载邮件正文和附件,大大减少了网络流量消耗,尤其适用于低带宽环境或存储空间有限的设备。
5)、状态保留:
IMAP能记住每个邮件的读取状态(已读或未读)、标志(如星标或标签)以及其他元数据,确保无论何时何地登录,用户的邮件状态都能保持一致。
6)、并发访问能力:
同一账户允许多个客户端同时连接并进行操作,各客户端的操作互不影响。
7)、安全传输:
为了保证通信安全,现代IMAP通常采用TLS/SSL加密技术,即IMAPS,通过端口993提供安全连接服务。
8)、扩展性:
IMAP协议具有良好的扩展性,可通过扩展命令支持更多功能,例如搜索语法的增强(如RFC 3501和RFC 6203)、身份验证机制(如CRAM-MD5, DIGEST-MD5, LOGIN等)以及国际化字符集支持等。
IMAP协议工作步骤
客户端应用程序通过TCP/IP协议连接到邮件服务器,通常在默认的TCP端口号143上(对于非加密连接)或993上(对于SSL/TLS加密连接)。连接建立后,客户端通过一系列命令和响应与服务器交互,执行登录验证、列出邮件、下载邮件内容、移动邮件、标记邮件、删除邮件等操作。当用户通过IMAP协议访问邮件时,通常经历以下步骤:
1)、连接:客户端与服务器建立TCP连接,并可能通过STARTTLS升级到加密连接。
2)、认证:客户端向服务器提交用户名和密码进行认证。
3)、选择邮件箱:客户端指定要访问的邮件箱(如收件箱或自定义文件夹)。
4)、命令交互:客户端发出一系列命令来执行各种操作,如获取邮件列表、检索邮件详情、更新邮件状态等。
5)、断开连接:完成操作后,客户端可选择断开连接,但邮件仍保留在服务器上。
IMAP协议常见指令
IMAP协议包含了一系列指令(温馨提示:指令太多,建议仅作了解),用于客户端与邮件服务器之间的交互。以下是一些IMAP协议中的基本和常见的指令,以及它们的作用:
1)、CAPABILITY:
客户端请求服务器支持的IMAP命令及扩展列表。
2)、LOGIN 或 AUTHENTICATE:
用于用户认证,向服务器提供用户名和密码以登录账户。
3)、 SELECT 或 EXAMINE:
选择或打开一个邮件箱(也称为邮箱或文件夹)。SELECT命令会使邮件箱状态发生改变(例如,标记邮件为已读),而EXAMINE则为只读方式打开。
4)、CREATE:
创建一个新的邮件箱。
5)、DELETE:
删除一个邮件箱。
6)、RENAME:
重命名现有的邮件箱。
7)、SUBSCRIBE 和 UNSUBSCRIBE:
分别订阅或取消订阅一个邮件箱,影响哪些邮件箱会被视为“已订阅”的列表。
8)、LIST:
列出服务器上的邮件箱信息。
9)、STATUS:
获取邮件箱的状态信息,例如邮件数量、未读邮件数等。
10)、APPEND:
将新邮件添加到指定邮件箱。
11)、 FETCH:
请求邮件的具体属性或内容。这是一个复杂的命令,可以用来获取邮件的各种信息片段,如邮件头、特定部分的正文、附件信息等。
12)、STORE:
修改邮件的某些属性,例如设置邮件为已读、删除邮件、添加或修改标签等。
13)、SEARCH:
根据指定条件搜索邮件箱中的邮件。
14)、COPY:
将邮件复制到另一个邮件箱。
15)、CHECK:
强制服务器立即检查并返回任何未报告的邮件状态变化。
16)、EXPUNGE:
删除已经标记为删除的邮件。
17)、NOOP:
空操作命令,用于保持连接活跃或测试服务器响应。
18)、LOGOUT:
结束当前的IMAP会话,注销用户并关闭连接。以上只是IMAP协议中一部分常用的命令,根据具体需求和服务器支持的功能,还有其他更复杂的扩展命令。在实际使用中,客户端应用程序会根据这些命令构建与邮件服务器的交互逻辑,以实现邮件的读取、管理等功能。
4、三个协议的区别
尽管SMTP、IMAP和POP都是电子邮件传输相关的协议,但它们的功能和用途有所不同:
- SMTP:主要用于发送邮件,定义了邮件从发送者到接收者的传输规则。
- IMAP:允许用户通过邮件客户端直接访问邮件服务器上的邮件,实现离线阅读和操作。
- POP:用于从邮件服务器上检索邮件到本地客户端,通常用于接收邮件
5、邮箱服务的几个组件
| 名称 |
全名 |
基于协议 |
作用 |
常见软件 |
| MUA |
mail user agent 用户邮件代理 |


1万+

被折叠的 条评论
为什么被折叠?



