在Azure上搭建自己的邮件服务器

最近工作需要一个邮件服务器,稍作研究后,决定用Azure的1cpu/2GB的虚拟机和Mail in a box,在香港搭一个。机器每月只要150人民币,扩充也容易。如果压力下还可以降到1cpu/1GB,只需80块每个月。
Mail in a box的官方教程在 https://mailinabox.email/guide.html#domain-name-registration

在安装部署过程中,还是遇到不少问题,列在下面备忘吧:

  1. 首先是反向域名解释(reverse dns)的配置
    首先需要在Azure虚拟机对应的公共IP上设置好DNS,填上名称


    在Azure上搭建自己的邮件服务器_第1张图片
    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?不太明白,但是邮件系统基本都是通过这个来防伪造发件地址的。

  1. 设置DNS,基本如下图所设
    上面的MX是邮件服务配置,指向虚拟机的域名即可
    下面的NS是gluerecoder,指向虚拟机即可


    在Azure上搭建自己的邮件服务器_第2张图片
    image.png
  1. ubuntu 14.04虚拟机环境准备
    主要是把机器名,地址什么的设置好
    编辑hostname文件把机器名改为你的域名,如:box.xxx.xxx.com
sudo nano /etc/hostname

编辑hosts文件,增加一行
机器IP得之 box.xxx.xxx.com box

nano /etc/hosts
  1. 然后运行下面命令,一步一步即可完成
curl -s https://mailinabox.email/setup.sh | sudo bash
  1. 打开防火墙
    在Azure的门户上,按照官方说明,打开相关端口就可

注意, Azure默认是强行关闭25端口,可能需要发信给微软去打开。

后面的问题:

  1. SSL 一直没有搞定 Let'sEncrypt 的SSL证书 ,python配置有点问题
  2. 如何移动配置信息,数据到其它机器

你可能感兴趣的:(在Azure上搭建自己的邮件服务器)