自托管电子邮件服务器

2020-07-20 15:37:54

订阅1998年在我的第一份工作中,我是玻利维亚最大的互联网提供商的系统管理员,现在它仍然是最大的提供商。互联网在1995年或1996年来到这里,所以它才刚刚开始。

我负责BGP路由器,通过卫星连接到互联网,在那些日子里,整个国家的连接速度只有2 Mbps。我还负责电子邮件服务器(roble.scz.entelnet.bo),DNS服务器在Unix机器上运行,而电子邮件和Web服务器在RedHat Linux驱动的PC上运行。

快进到2001年,我成立了自己的公司,它与系统管理无关,但无论如何我们需要电子邮件服务,所以我只是获得了一个带有/28公共IP段的在线通道,并设置了一台运行BIND、Sendmail、Dovecot的CentOS服务器。

2007年,我开始使用Apache、PHP和MySQL在同一台服务器上运行的Drupal上写博客,这里是我的第一篇文章。我以前是主持服务的。

但后来我手中的时间变少了,维护服务运行也变得更加困难,更新垃圾邮件过滤器和规则变得困难,BIND也有问题,Slashdot发生了,带宽不足。

我把我的服务器转移到一家网络托管公司,然后转移到Linode VPS,我还外包了DNS服务,并将电子邮件转移到Google Apps。

那或多或少是在2010年,所以我停止了托管我的服务,只有我的博客在我手中,但那时我开始使用Jekyll,所以它只是一个带有Nginx的VPS。

今年4月,我开始了这个博客,但我也注册了Fedariable,并决定运行我自己的实例,因此我再次托管,那不只是一台Nginx服务器,然后我读到了这个、这个和这个。

经营我的服务的想法又一次出现在我的脑海里。我想随着时间的推移做不同的事情,现在已经不是1998年了,所以我决定了解一下Docker。所以现在我只有一台Arch Linux服务器:

都是用Docker编写的文件,但是遗漏了一些东西,那就是电子邮件。(乳齿象有自己的服务器-还没有-)。

我想在Docker上运行一个电子邮件服务器,所以我寻找了一些替代方案,我发现有一些非常好的。

我还没有测试过,但似乎真的很容易部署,它有一个免费版本,我认为个人使用已经足够了,有两个专业选项,每月收费。

它是Poste.io的克隆,但仅使用我安装和配置的免费开放源码替代方案,我只用了45分钟就为我的一个域运行了服务器。它有一个根据您的选项创建配置文件的工具,它可以为您设置一切,您可以在这里找到它,您只需回答几个问题,然后运行三四个命令,您就拥有了一个完整的电子邮件服务器。

然后我发现了这个,它也是一个完整的套件,都是开源的,有非常好的文档,可以用Docker部署在服务器上。它不像麦露那么简单,但我决定用它。我遵循了这个指南,是的,我知道,如果你遵循这个指南,你仍然需要Gmail或任何其他提供商来发送你的电子邮件。但是我还没有准备好完全跳进池子里。

MX记录指向我的服务器,所以我的所有电子邮件都由我的服务器接收。

Gmail配置为使用这些帐户作为默认帐户,而不是Gmail地址,并使用我的SMTP服务器发送

这样,我确信我在使用我的域名,因为我们已经同意每个人都应该拥有自己的域名,对吗?我正在使用Gmail作为我的电子邮件客户端。

我之所以这样做,是因为使用Gmail搜索电子邮件很容易,也因为我不确定我是否会丢失服务器和丢失一些重要的电子邮件。我需要确定这一点,因为我是为我的家人举办的,而不仅仅是我自己。

此外,在手机上安装IMAP客户端也会耗尽电池,因为即使没有东西可下载,或者如果您保持打开的IMAP空闲连接,它也会轮询服务器,也会耗尽电池。有一个解决方案,你需要Pushover,这个IMAP to Pushover应用程序,我还没有测试,但我认为是可行的。

如果您计划托管您自己的电子邮件服务器,您需要考虑一些重要的事情,那就是正确配置您的DNS服务器。以下是您需要的内容:

您确实需要配置SPF记录,这并不适用于所有提供商,但是有大量的文档,这并不难做到。该记录基本上告诉收件人服务器谁有权代表您的域发送邮件。最常见的配置是MX服务器是授权的,如下所示。

这个有点难,您需要创建DKIM密钥,您的电子邮件服务器可以做到这一点,上面的所有示例都可以做到,一旦您有了它,您需要在DNS上创建一个TXT记录并将其粘贴到那里,它将如下所示:

您的所有电子邮件都将使用该DKIM密钥签名,接收服务器可以使用DNS中的信息检查签名是否有效。

这是可选的,但最好有它,您可以使用像这样的在线工具生成它。它所做的是告诉发生故障时要做什么,以及向谁报告这一点,通常是服务器管理员,也就是您。

您需要有一个PTR DNS记录,即您的服务器正在使用的IP的反向DNS应该指向与A记录相同的名称。举个例子,如果你有一张A唱片。

您需要要求IP所有者为您添加该记录,如果您使用的是VPS,您可以查看相关文档。

当然,您需要一个MX记录,但是您已经知道了这个记录,否则运行您自己的服务器可能不是一个好主意。这基本上通知所有发送服务器哪个服务器正在接收您的域的电子邮件。

一旦您设置好一切,等待24小时DNS传播并测试它,这个工具非常棒。

您可能不需要托管您的电子邮件服务器,您可以使用Fastmail、Zoho、Office 365或Google Suite,但您必须使用您的域,所有帐户、所有银行对帐单都应发送到您域中的电子邮件地址,否则您可能会失去对帐户的控制。托管电子邮件服务器不是一件容易的事情,处理垃圾邮件很难,停机也可能是一场噩梦,但在托管电子邮件的过程中,您会学到一两件事。