mail.xin.moe邮箱系统介绍

自架是一个门槛很高很高很高的活,其中的坑也是极多的。最近因为邮箱被炸导致QQ邮箱被锁死很久收不到任何邮件,考虑许久决定自架。折腾了两天完工。

域名邮箱收信的流程

折腾过域名邮箱的都知道MX记录可以有多条,并且有个优先级这个东西。发信服务器会寻找接收方的MX记录,如果搜不到会往A记录丢,搜到了按MX优先级排序,越低的值优先级越高,如果高优先级投递失败会往低的投,直到全部失败过段时间会重复,重复投递失败会告知发件人。(通常是重试24小时)

为了保证到达率,mail.xin.moe选择1主2从的服务器配置,主节点位于Linode日本,从节点分别位于江苏电信和美国,并且会定期备份到Hostker的备份节点。可以蹭就尽量蹭节约成本嘛w不然全部加起来一年成本是四位数的/w\

如果主节点宕机,从节点会收到投递并尝试转到主节点,转送失败会一直重试直到成功或者超过设定的时间邮件会被退回。下面说一下具体的收发流程。

收邮件流程

以下假设的@xin.moe邮箱都不存在!只用于测试日常不使用!假设发送到i@xin.moe,会经历一下过程:

  1. 检测xin.moe的DNS记录,具体上面已经介绍
  2. 邮件到达Postfix,也就是MTA
  3. Postfix检查系统中是否存在i@xin.moe,如果不存在会退信,存在则继续
  4. Postfix把邮件转交到Dovecot的LMTP
  5. Dovecot将会保管好这封邮件

存好就等着客户端来收啊!流程是这样的:

  1. 客户端联系mail.xin.moe要求IMAP连接
  2. Dovecot同意,同时表示这里强制加密通讯,递给你证书,请提供用户名密码
  3. 客户端提供用户名密码
  4. Dovecot确认用户名密码正确
  5. Dovecot把i@xin.moe的内容传递给客户端

现在你可以用Outlook、Foxmail等客户端管理了。那么发信呢?流程如下:

  1. 客户端联系mail.xin.moe要求SMTP连接
  2. Postfix同意,同时表示这里强制加密通讯,递给你证书,请提供用户名密码
  3. 客户端提供用户名密码
  4. Postfix询问Dovecot用户名密码是否正确,如果正确则告诉客户端请提供信件
  5. 客户端递交信件给Postfix
  6. Postfix递交给OpenDKIM签名
  7. 开始发信…

如上述,我使用Postfix、Dovecot、OpenDKIM搭建起的服务就上线了。可是管理这套系统非常费劲,所以又花了一下午用PHP写出完整的管理域名、邮箱、签DKIM。晒几张截图:

mail

mailuser我还做了任意前缀的邮件转发,可以使用jd@xin.moe注册京东、taobao@xin.moe注册淘宝,收到的全部信件会内部重定向到i@xin.moe。这样如果哪家社工库收集到我的密码,就可以知道这个库来自哪个网站。是不是很方便→_→

想看完整搭建过程?超过100步我自己都记不太清了懒得写。以上w

 

mail.xin.moe邮箱系统介绍 有 9 个评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注