Poste.io邮件服务器
Poste.io简介
官网:Poste.io
Poste.io是一款SMTP+IMAP+POP3+反垃圾邮件+防病毒+Web管理+Web电子邮件集一体的开源邮件服务器
特点:
- SPF、DKIM、DMARC、SRS的原生实现,带有简单的向导
- 可检测特洛伊木马、病毒、恶意软件
- 内置垃圾邮件过滤器
- 带有HTTPS的网络邮件客户端
- 电子邮件重定向,自动回复和通过Sieve脚本过滤
- 可限制邮件空间及电子邮件数量
- 对系统管理员、域管理员、电子邮件所有者具有不同权限的Web管理
- 内置微软产品的自动发现功能
- 内置邮件服务器的诊断功能
- 支持邮件TLS(SMTPS、POP3S、IMAPS)
- 默认情况使用SHA512算法加密,防止密码被黑客破解
- 可使用Docker部署并与其他应用程序隔离
邮件原理
电子邮件结构
用户代理UA
用户与电子邮件系统的接口,具有编写、显示、邮件处理、通信等功能。例如:Foxmail
邮件服务器
邮件服务器是邮件系统的核心,用于发送和接受邮件,向发送人报告邮件传递情况,同时充当客户和服务器
电子邮件使用的协议
STMP协议
STMP客户端主动将邮件推到SMTP服务器端
POP3协议
用户代理向邮件服务器发出请求,拉去用户邮箱中的邮件
电子邮件格式
电子邮件格式
信封
用户写好首部后,系统自动将信封所需信息提取到信封上
内容
- 首部
- 包含一些首部行,由一个字典组成
- To: 收件人邮箱(一个或多个)
- Subject: 邮件的主题(可选)
- From: 由系统自动填入
- 首部和主体之间使用一个空格进行分割
- 主体
- 用户自己编写
- 首部
MIME(多用途网际邮件扩充)
SMTP的缺点
只能传送7位的ASCII码,其他非英语国家的文字无法传送
无法传送可执行文件/二进制对象
SMTP服务器拒绝超过一定长度的邮件
MIME意图
并未改变SMTP或取代,继续使用目前的格式,增加了邮件主体的结构
定义了传送非ASCII码的编码规则,可在现有的电子邮件程序和协议下传送
三部分内容
五个新的邮件首部字段(MIME版本、内容描述、内容标识、内容传送编码、内容类型)
定义更多的邮件内容的格式
定义传送编码,可对任何内容格式进行转换,不被邮件系统改变
SMTP/POP3
SMTP协议
特点
提供可靠有效的电子邮件传输协议,客户/服务器方式,使用TCP协议
三个阶段
连接建立
邮件传递
连接释放
POP3协议
特点
简单且非常有限的邮件读取协议,拉取邮件
两种工作模式
下载并保留/下载并删除
IMAP协议
- 比POP协议复杂,可以看到首部,当用户需要时,该邮件才上传到用户计算机中
- 可以让用户在不同的地方使用不同的计算机随时处理邮件
基于万维网的电子邮件
- 用户浏览器与电子邮件服务器之间发送/接收邮件使用HTTP协议,仅在不同邮件服务器之间使用SMTP协议
邮件端口
端口号 | 作用 |
---|---|
25 | SMTP-主要用于处理接收邮件 |
80 | HTTP |
110 | POP3-用于访问邮件的标准协议 |
143 | IMAP-用于访问邮件的标准协议 |
443 | HTTPS |
465 | SMTPS-传统SMTP端口 |
587 | MSA-SMTP端口主要用于STARTTLS和身份验证之后的电子邮件客户端 |
993 | IMAP-自连接以来加密的IMAP的备用端口 |
995 | POP3S-自连接以来加密的POP3 |
4190 | 筛子 |
部署邮件
安装Docker(略)
启动容器
1
2
3
4
5
6
7
8
9[root@xiaowangc ~]# docker run -itd \
-e TZ=Asia/Shanghai \ # 设置时区
-e HTTPS=OFF \ # 关闭HTTPS,这里是因为我使用了代理
-e HTTP_PORT=11111 \ # 更改HTTP默认端口,因为我的代理服务器占用了80端口
-v /root/email/data:/data \ # 数据持久化
--name "mailserver" \ # 容器名称
-h "mail.xiaowangc.com" \ # 主机名
-p 25:25 -p 110:110 -p 143:143 -p 587:587 -p 993:993 -p 995:995 -p 465:465 -p 11111:11111 \ # 需要暴露的端口
-t analogic/poste.io其他参数:
1
2
3
4-e "HTTPS_PORT" # 更改HTTPS端口
-e "DISABLE_CLAMAV=TRUE" # 禁用ClamAV病毒查杀,可降低内存使用率
-e "DISABLE_RSPAMD=TRUE" # 禁用Rspamd反垃圾邮件系统,可降低内存使用率
-e "DISABLE_ROUNDCUBE=TRUE" # 禁用Web电子浏览器配置DNS解析
配置A记录解析mail.xiaowangc.com的邮件服务器域名
配置MX记录指定邮件服务器
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 尤妤!