自建邮件服务可以不受发件量限制,批量发件成本更低,但部署相对复杂,而且容易进垃圾箱。不过现在越来越多的服务商已经开发好了产品,支持一键部署等方式,极大降低了部署和使用难度。这次给各位小伙伴安利一款开源邮件服务poste.
服务器” layer-index=”0″ src=”https://img.dsary.com/dsimg/2024/11/07/0c5e14b5e9956c2fce9a8238f2463da4.jpeg” style=”width: 100%; margin-bottom: 20px;”>
关于poste
poste是一款开源邮件服务软件,可以很方便的搭建:SMTP + IMAP + POP3 + 反垃圾邮件 + 防病毒 + Web 管理 + Web 电子邮件,支持以下特性。
SPF、DKIM、DMARC、SRS 的原生实现,带有简单的向导 用于检测木马、病毒、恶意软件的防病毒引擎 ( ClamAV ) 内置垃圾邮件过滤器( RSPAMD ) HTTPS 上的WebmAIl 客户端(Roundcube) 通过Sieve 脚本进行电子邮件重定向、自动回复和其他过滤(电子邮件所有者管理,每个操作都可以编写脚本) 用于限制邮箱空间或电子邮件数量的配额 系统管理员、域管理员、电子邮件所有者具有不同权限的Web 管理。 内置Microsoft 产品的自动发现功能,Thunderbird… 帮助正确设置域和邮件服务器的诊断 SMTP – 端口 25、465 (TLS)、587 POP3 – 端口 110、995 (TLS) IMAP – 端口 143、993 (TLS) SSL TLS无处不在!没有个人数据、电子邮件、登录信息通过互联网未加密。 默认情况下,所有密码都存储为加盐SHA512哈希(5000 轮)。攻击者将很难破解您的密码。 整个邮件服务器容器由 Docker 与其他应用程序隔离。准备工作
一台VPS,有独立IP 支持25端口及邮件发送 建议内存2Gb以上 干净的IP,没有被墙,没有被标记为垃圾IP 提前安装好Docker关于Docker安装可参考这篇文章《Linux安装Docker与Docker常用命令》,如果您使用的CentOS 7系统,也可以直接使用xiaoz提供的Docker一键安装脚本。
#CentOS一键安装Docker wget https://raw.githubusercontent.com/helloxz/shell/master/install_docker.sh && bash install_docker.shDocker部署poste
Docker部署poste,几乎不会影响你服务器上现有的服务,复制下面的命令执行:
docker run -d -p 880:80 -p 8443:443 -p 25:25 -p 110:110 -p 143:143 -p 465:465 -p 587:587 -p 993:993 -p 995:995 -p 4190:4190 -e TZ=Asia/Shanghai -v /data/mail-data:/data –name“mailserver” -h “mail.your-domain.com” –restart=always -t analogic/poste.io参数含义如下:
880/8443是WEB访问端口,为了避免和本地已有WEB服务(Nginx等)冲突,所以这里使用的880/8443作为WEB端口 TZ=Asia/Shanghai:设置容器为上海时区 /data/mail-data:本地数据目录,根据实际情况修改为服务器目录 mail.xxx.com:改成你自己的域名 –restart=always:容器异常时自动拉起如果部署遇到25端口被占用,可通过netstat -apn|grep 25查看是否是postfix导致,CentOS 7可卸载postfix:
#卸载postfix yum -y remove postfix部署后访问https://IP:8443/根据提示完成初始化设置。
DNS设置
前往DNS服务商处,按照如下要求设置域名解析,否则邮件服务无法正常使用,其中:
your-domain.com:为你自己的域名 1.2.3.4:为你的邮件服务器IP主机名 记录类型 记录值 mail.your-domain.com A 1.2.3.4 smtp.your-domain.com CNAME mail.your-domain.com pop.your-domain.com CNAME mail.your-domain.com imap.your-domain.com CNAME mail.your-domain.com your-domain.com MX mail.your-domain.com your-domain.com txt v=spf1 mx ~all设置DKIM验证
在poste后台 – Virtual domains – 点击对应域名 – DKIM key – 创建key,并按照要求设置txt记录解析。
设置PTR反向解析
PTR记录,是电子邮件系统中的邮件交换记录的一种;另一种邮件交换记录是A记录(在IPv4协议中)或AAAA记录(在IPv6协议中)。PTR记录常被用于反向地址解析。——摘自百度百科
域名解析到IP被称为正向解析,而IP指向到域名,则被称为反向解析,反向解析需要在主机服务商处进行操作,具体请咨询主机服务商。
比如UltraVPS可以直接在后台面板添加PTR反向解析,将IP指向到您的邮件服务器,如mail.your-domain.com
添加SPF/DKIM/PTR解析,可提高邮件可信度,从而降低邮件进入垃圾箱的几率,必不可少的关键步骤。
设置TLS SSL
假如您的邮件域名为mail.your-domain.com,需要对这个域名申请SSL证书,可在服务商处申请SSL证书。
获得SSL证书后,打开poste后台 – System settings – TLS Certificate – 选择证书文件进行上传,见截图。
SSL提供商会自动将中级证书合并到了证书文件(比如腾讯云),因此中级证书那个选项可以和证书一致,然后点保存,保存后需要重启容器生效:docker restart mailserver
登录与管理
启用SSL后,可通过域名进行访问:https://mail.your-domain.com:8443/,默认是登录webmail,可以在webmail发信、收信等操作。
如果需要登录系统管理,可将地址修改为https://mail.your-domain.com:8443/admin/login
邮件跑分测试
邮件跑分可以使用https://www.mail-tester.com/这个工具,会检测你邮件存在的问题,并给出一定优化建议。当然这个工具得分并非绝对准确,结果只供参考。
个人建议
在准备自建邮件服务之前,有一些注意事项需要知晓,以下是一些个人经验总结,希望有所帮助。
使用可信度较高的域名后缀,如.com/.net/.org,尽量避免使用各种奇怪的小众后缀 使用英文字母的域名,尽量避免使用纯数字域名 域名注册时间越长越好,最低注册时间建议大于7天 使用一个干净的IP,可通过https://poste.io/dnsbl查询 IP支持PTR反向解析,需咨询主机商最后
poste相比其它自建邮件服务已经算比较简单的了,但步骤依然比较多。目前给其它小伙伴搭建的poste,测试过一天发送1w邮件完全没有问题,但如果长期大量发送垃圾邮件,估计离拉黑也不远了,所以建议大家还是悠着点玩儿。
poste官网:https://poste.io/
暂无评论内容