这段时间公司需要使用自己的域名来构建一个邮箱,于是想了解下邮箱系统,发现里面的水很深,本文将记录下这些新知识。
邮箱系统组成(宏观)
<pre>
| client | | client |
↑ | | ↑
| | | |
| ↓ ↓ |
| | | | -----------> | | | |
|POP/IMAP| | SMTP | | SMTP | |POP/IMAP|
| | | | <----------- | | | |
↑ | | ↑
| | | |
| ↓ ↓ |
| mailbox | | mailbox |
</pre>
- client - 邮件客户端,包含本地客户端(foxmail、outlook、Mail等)和web客户端
- POP/IMAP - 接收服务器,主要用于客户端读取存在store中的邮件
- SMTP - 发送服务器,用于收发邮件及存储
- mailbox - 存储邮件
PS: 通过上图,大家应该比较容易理解为何客户端需要配置发送服务器及接收服务器
邮箱系统组成(微观)
从微观上讲,一个邮箱系统包含MTA、MDA、mailbox、POP/IMAP、MUA、MSA六个部分组成
<pre>
| MUA MSA | | MSA MUA |
↑ | | ↑
| | | |
| ↓ ↓ |
| | | | -----------> | | | |
|POP/IMAP| |MDA MTA| |MTA MDA| |POP/IMAP|
| | | | <----------- | | | |
↑ | | ↑
| | | |
| ↓ ↓ |
| mailbox | | mailbox |
</pre>
- MTA - Mail Transfer Agent,向其他MTA发送邮件,接收或拒收其他MTA发来的邮件,属于SMTP
- MDA - Mail Delivery Agent,把本地MTA从远程发件人MTA接收到的邮件投递到用户的邮箱(mailbox),属于SMTP
- mailbox - 存储用户的邮件
- POP/IMAP - 福州把mailbox的邮件传递给MUA,供用户查看
- MUA - Mail User Agent,即对应上方的client
- MSA - 用于客户端发邮件
MX记录
MX即Mail Exchanger,指邮件交换记录,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器,即每一种邮箱后缀都会对应至少一个MX记录,这条MX记录将包含STMP服务器地址及优先级,我们来测试几个常见邮箱后缀
PS: 前一个数字表示优先级,后一个表示SMTP域名
协议
- SMTP协议 - MTA之间通信协议及MUA与MSA之间通信协议,一般位于TCP 25端口
- POP3协议 - 邮箱查看协议
- IMAP协议 - 邮箱查看协议,是POP3改进版,可以实现邮件同步,如在一台客户端删除,则其他客户端也会相应删除
常用服务端软件
- Sendmail - SMTP角色
- Postfix - Sendmail改进版,主要解决Sendmail效率低问题
- Dovecot - POP3/IMAP服务端