最近工作需要一个邮件服务器,稍作研究后,决定用Azure的1cpu/2GB的虚拟机和Mail in a box,在香港搭一个。机器每月只要150人民币,扩充也容易。如果压力下还可以降到1cpu/1GB,只需80块每个月。
Mail in a box的官方教程在 https://mailinabox.email/guide.html#domain-name-registration
在安装部署过程中,还是遇到不少问题,列在下面备忘吧:
-
首先是反向域名解释(reverse dns)的配置
首先需要在Azure虚拟机对应的公共IP上设置好DNS,填上名称
然后在对应的域名供应商(我这里是godaddy),把你要用的域名服务器指向上面那个dns,如下图
然后需要下载Azure CLI 2.0 (微软官网有介绍),在windows上建议查看https://www.jianshu.com/p/d1b9ca63adf3 来在windows上准备linux环境。 Azure CLI 2.0 配置好后,运行下面的命令即可
az network public-ip update --resource-group 资源组的名字 --name 公共IP的名字 --reverse-fqdn box.xxx.xxx你的域名 --dns-name box
最后,你可以用下面命令验证反向域名解释是否成功
nslookup xxx.xxx.xxx.xx
为了防止垃圾邮件,大部分邮箱都会确认一下发信的服务器是不是他自己声称的服务器。比如1.1.1.1说自己是gmail.com,要求发邮件,那么服务器就反向查一下1.1.1.1是不是gmail.com,如果不是那么就不发。为什么不只用正向解释,直接查gamil.com是不是1.1.1.1?不太明白,但是邮件系统基本都是通过这个来防伪造发件地址的。
-
设置DNS,基本如下图所设
上面的MX是邮件服务配置,指向虚拟机的域名即可
下面的NS是gluerecoder,指向虚拟机即可
- ubuntu 14.04虚拟机环境准备
主要是把机器名,地址什么的设置好
编辑hostname文件把机器名改为你的域名,如:box.xxx.xxx.com
sudo nano /etc/hostname
编辑hosts文件,增加一行
机器IP得之 box.xxx.xxx.com box
nano /etc/hosts
- 然后运行下面命令,一步一步即可完成
curl -s https://mailinabox.email/setup.sh | sudo bash
- 打开防火墙
在Azure的门户上,按照官方说明,打开相关端口就可
注意, Azure默认是强行关闭25端口,可能需要发信给微软去打开。
后面的问题:
- SSL 一直没有搞定 Let'sEncrypt 的SSL证书 ,python配置有点问题
- 如何移动配置信息,数据到其它机器