本文首發(fā)于只抄博客,歡迎點(diǎn)擊原文鏈接了解更多內(nèi)容。
前言
Poste.io 是開源的郵局系統(tǒng),集成了 SMTP + IMAP + POP3 + 反垃圾 + 防病毒 + Web 管理 + Web 電子郵件,通過(guò) Docker 幾分鐘就可以完成部署。在關(guān)閉反垃圾和防病毒的情況下,1G 內(nèi)存的 vps 就可以完成安裝,同時(shí)提供了統(tǒng)計(jì)分析、一鍵部署 SSL、Catch-All 等常用功能。
準(zhǔn)備工作
在開始之前,還需要做以下準(zhǔn)備工作:
- 一個(gè)域名
- 一臺(tái)開放 25 端口的 VPS(最好支持 rDNS)
部分商家 VPS 不支持 25 端口和 rDNS,在購(gòu)買之前可以搜索一下商家相關(guān)帖子;還有部分商家開放端口和設(shè)置 rDNS 需要工單申請(qǐng)或者 KYC。沒(méi)有 VPS 的可以購(gòu)買搬瓦工的 1C1G,在禁用反垃圾和防病毒的情況下搭建 Poste.io 足夠使用了,搬瓦工默認(rèn)開放了 25 端口,并且可以在后臺(tái)自助設(shè)置 rDNS。
測(cè)試 25 端口
在開始之前,需要測(cè)試 VPS 的 25 端口是不是開放的,可以通過(guò) telnet 命令測(cè)試 telnet smtp.qq.com 25
返回結(jié)果像下面這樣的就是可以使用的
Trying 240e:ff:f100:1009::120... Connected to smtp.qq.com. Escape character is '^]'.
像這樣的就不可以使用的
Trying 43.129.255.54... Connection failed: Connection refused Trying 240e:ff:f100:1009::120... telnet: Unable to connect to remote host: Connection refused
rDNS (PTR)
- 一部分支持的商家可以直接在后臺(tái)進(jìn)行設(shè)置,填上郵箱服務(wù)器的域名即可
- 另一部分商家需要發(fā)工單讓客服設(shè)置
- 還有部分商家不支持 rDNS
域名解析
記錄 類型 值
mail A VPS IP
smtp CNAME mail.domain.com
pop CNAME mail.domain.com
imap CNAME mail.domain.com
@ MX mail.domain.com
@ TXT v=spf1 mx ~all
安裝 Poste.io
Poste.io 可以直接通過(guò) Docker 進(jìn)行部署,由于配置項(xiàng)較多,推薦使用 Docker Compose
- 內(nèi)存較小的機(jī)器,一定要通過(guò)
DISABLE_CLAMAV
和DISABLE_RSPAMD
兩項(xiàng)配置禁用反垃圾和反病毒 - 安裝有 Nginx 的機(jī)器,建議通過(guò)
HTTP_PORT
和HTTPS_PORT
修改 Web UI端口,后續(xù)反向代理訪問(wèn)即可
services: mailserver: image: analogic/poste.io hostname: mail.domain.com network_mode: host environment: - HTTPS=OFF - DISABLE_CLAMAV=TRUE - DISABLE_RSPAMD=TRUE - HTTP_PORT=8080 - HTTPS_PORT=4433 - TZ=Asia/Shanghai volumes: - /your-data-dir/data:/data
完成安裝后,還需要在防火墻開放這些端口 25,110,143,465,587,993,995,4190
。Web UI 如果通過(guò)反向代理訪問(wèn),則不需要開放端口;反之則需要開放。
配置 Poste.io
- 訪問(wèn)反代的域名或者
http://ip:8080
進(jìn)入管理面板,首先要設(shè)置 hostname 以及管理郵箱
設(shè)置管理郵箱與密碼
- 點(diǎn)擊左側(cè)
System settings
來(lái)到TLS certificate
頁(yè)面,申請(qǐng) SSL 證書
申請(qǐng) SSL 證書
- 其中域名按照下圖格式填寫即可
填寫域名
更多優(yōu)化
由于是自建的郵局,發(fā)送的郵件比較容易進(jìn)垃圾箱,為了降低進(jìn)垃圾箱的概率,還需要更多的優(yōu)化。
設(shè)置 Hostname
hostnamectl set-hostname mail.domain.com
設(shè)置 DKIM
點(diǎn)擊 Virtual domains
,創(chuàng)建一個(gè)新的 key
DKIM
然后域名新增一條 TXT 記錄的解析,記錄為 s2024xxxxxxx._domainkey,值為后面引號(hào)內(nèi)的部分
DKIM DNS record
測(cè)試郵件
完成上面設(shè)置后,最重要的是測(cè)試郵箱的得分,得分越高,郵件越不容易進(jìn)入垃圾箱,通過(guò) https://www.mail-tester.com/ 可以進(jìn)行測(cè)試
通過(guò) Webmail 或者客戶端向頁(yè)面中的地址發(fā)送郵件
發(fā)送郵件
點(diǎn)擊“查看你的郵件的得分”后,能看到得分以及具體的扣分項(xiàng),分?jǐn)?shù)較低的,則可以根據(jù)下方的提示完善扣分的地方
測(cè)試得分
作者聲明本文無(wú)利益相關(guān),歡迎值友理性交流,和諧討論~
,