从目前的感受来看,Axigen 绝对是一个很好的自建邮局的选择,相较于此前使用的 MailCow 等软件而已, Axigen给人的感觉是更商业,也更成熟。
部署效果
先看几张部署好之后的图:
可以看到,在webmail上Axigen是的风格是很现代的,也可以很方便的自定义LOGO,美观大方,相较于SOGO默认风格而已,我更喜欢这个风格。
在管理端上,Axigen的可设置项也非常丰富。
部署教程
我们以宝塔部署为例,之所以用宝塔部署,是因为可以在宝塔内快速的部署和迁移。宝塔Docker应用商店内的所有软件,都可以进行快速的备份与还原。虽然我们可以手动的通过生成镜像迁移等形式实现,但是宝塔的好处很明显,备份空间小,可视化操作,容错率高。
如果没有使用宝塔,也是大同小异,无非就是Docker部署的指令手动操作而已。
如下所示,找到Axigen。
点击安装即可,不需要进行任何设置。安装完成后,在已安装列表,点击详细,可以看到端口信息。
如果想要通过IP直接访问并管理,就需要在宝塔的安全选项卡中,把这些端口加进去,当然像邮局所需要的25端口这些,也需要一并添加。
绑定域名
需要添加两个域名(通过IP管理的忽略本步骤),分别用于邮箱登录和邮局管理。
mail-admin
添加一个域名,用于管理整个邮局,这里我们以mail-admin.lanluo.cn为例,添加效果图如下:
添加网站后,设置反向代理,代理的IP地址和端口是:https://127.0.0.1:9443
同理,添加mail,这里以mail.lanluo.cn为例,反代的IP和端口是:https://127.0.0.1:24843
请注意,以上两个域名,我都是通过https访问。如果要通过http访问,则反代http对应的两个端口。
初始化
初始化很简单,输入主域名等信息,授权选择免费授权,免费授权包含10个用户不限制域名和邮箱数。这10个用户指的是mail-admin的用户,通常1个足以。
去除邮件底部附加
这一步可能是很多同学放弃Axigen的原因,因为部署很容易,但是大家在使用的时候却会发现,每一封对外发送的邮件,都带了一个强制签名如下:
要去掉这个签名,很多网上的答案,都是错误的,甚至包括AI(我已经向多个模型递交了正确答案,可能你询问AI的时候已经更正),给出的答案是必须购买商业版,其实是不需要的。
去除Email sent using Axigen Free Mail Server的方法
这一段话可能是
Email sent using Axigen Free Mail Server:
http://www.axigen.com/mail-server/free
也可能是
使用 Axigen Free Mail Server 发送的电子邮件:
http://www.axigen.com/mail-server/free
修改的方法是,在mail-admin中,点击左侧的manage Domains 找到要设置的域名,找到Message APPENDER 标签,取消附加消息的复选框的选择状态,或者调整成自己想要的。
添加账户
要添加账户,在左侧Domains & Accounts选择Manage Accounts,点击右上角的 ADD ACCOUNT,按提示添加即可。
Catch-all
很多时候,我们都需要使用这个功能,用以接受“意外”的邮件。
在左侧Domains & Accounts选择Manage Domains,找到自己要设置的域名,点击edit,拉到底部,找到Catch-all,设置要接收的域名即可。
发送邮件
发送邮件,可以通过imap或者smtp进行,也可以通过访问webmail进行,推荐使用webmail。
地址是上文中我们所设置的,添加账户后,通过账户直接访问即可。
设DNS
要想完整的使用mail服务,我们有几个重点要操作。
(一)主机名
虽然我们可以在mailadmin设置一个主机名,但是这其实是软件的主机名,不是我们设备的hostname,我们发送邮件,要用到的是系统上的hostname。
前文中提到,我们是使用docker部署的,所以直接在终端修改hostname,docker重启后,这个设置是可能丢失的。
正确的设置方法是:
进入Axigen安装目录
修改docker-compose.yml,加上hostname: mail.lanluo.cn,指定hostname
重启Axigen。
(二)DNS修改
a记录
首先新增mail的A记录指向mail服务的IP,随后添加MX记录为mail对应的A记录。
添加SPF记录
v=spf1 a mx ip4:113.***.***.** ~all
对应替换成自己IP地址
添加_dmarc
添加一条txt记录,内容参考
1 |
v=DMARC1; p=reject; rua=mailto:postmaster@lanluo.cn, mailto:dmarc@lanluo.cn |
也可以这样
1 |
v=DMARC1; p=none |
根据实际需要来就行。
添加dkim
要想让发信能得到10分,这一步很关键,在系统内,并没有直观的告诉你怎么做,文档的说明相信你看过也会觉得晦涩难懂。
要理解dkim的原理,就明白这一步的操作即难也简单。
1. 生成证书
生成证书可以通过openssl生成,也可以在mailadmin内生成,这里先以openssl为例。
1 2 |
openssl genrsa -out dkim.privkey.domain1_com.pem 2048 openssl rsa -in dkim.privkey.domain1_com.pem -outform PEM -pubout -out dkim.pubkey.domain1_com.pem |
在宿主机生成以上两个证书,随后复制dkim.pubkey.domain1_com.pem的内容作为DNS的设置值。
1 |
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBC.... |
将P后面的内容修改成自己的。
2.设置DKIM
在maiadmin左侧菜单找到Security & Filtering 选择 Acceptance & Routing ,点击高级设置。
默认情况下,这里你可以看到:
1 2 |
On Data Received 4 Check_DomainKeys_and_DKIM |
我们点击Add Acceptance / Routing Rule 新增一个规则。规则名称填写DKIM_PATH,Conditions留空。
如下图,依次添加三个动作。
第一行的证书路径,还记得我们刚刚生成的证书吗?不管你在哪里路径下生成的,去找到这个证书,注意是私钥,不是公钥,公钥我们已经填在DNS记录中了。
复制证书到应用的证书目录中,才能被系统调用。
第二行的dkim要和我们的DNS记录中的值保持一致,如果你是一路对照操作下来的,那么不用管,如果自己起了别的名字,请对应作修改。
大功告成
通过如上设置后,我们看看邮件测试得分。
完美!
如果在操作过程中,有遇到任何问题,欢迎讨论。
原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/13214