提供:ZStack云计算
在立足于自有域名建立网站或者应用程序时,大家很可能需要一套邮件服务器来处理域内的往来电子邮件。虽然运行自己的邮件服务器完全可行,但出于多种实际理由,我们并不推荐选择这种作法。在今天的教程中,我们将就这一问题展开深入探讨。
如果大家不想阅读整篇文章,那么这里先给出一点汇总结论:设置并维护自己的邮件服务器非常复杂而且极耗时间。选择其它方案所节省下来的资源完全可以用于创造其它更为可观的价值,甚至包括使用付费邮件服务。好了,如果大家想了解更多详细信息,那咱们马上进入正题。
一套典型的邮件服务器往往由大量软件组件共同构成,而各组件则分别负责实现具体功能。每个组件都需要精心配置与调试,才能保证整体邮件服务器的功能切实有效。正因为活动部件众多,邮件服务器才如此复杂且难于设置。
下面来看邮件服务器的必要组件:
除此之外,大家可能还需要以下附加组件:
虽然部分软件包已经包含了多种功能组件,但每款组件的实际选择仍要让我们自行完成。除了软件组件外,邮件服务器还需要配合域名、正确的DNS记录以及SSL证书才能发挥作用。
下面具体看看各款组件。
邮件传输代理(简称MTA)负责处理简单邮件传输协议(简称STMP)流量 ,其拥有两大作用:
MTA软件示例:Postfix、Exim以及Sendmail。
邮件分发代理(简称MDA)有时亦被称为本地分发代理(简称LDA),负责从MTA处接收邮件并将其放置在正确的邮件用户邮箱内。
目前市面上的邮箱格式多种多样,其中包括mbox与Maildir。每个MDA支持特定的几种邮箱格式。邮箱格式的选择决定了信息在邮件服务器上的实际存储方式、磁盘使用量以及邮箱访问性能。
MDA软件示例:Postfix与Dovecot。
IMAP与POP3都属于邮件客户端(即用于读取邮件的软件)所使用的邮件检索协议。每种协议都拥有自己的复杂性,但在这里我们将主要强调其关键性差别。
IMAP是其中最为复杂的协议,允许多个客户端同时接入单一邮箱。其中的邮件信息会被复制至客户端,而原始信息则仍然留存于服务器当中。
POP3则更为简单,其会将邮件信息转移到邮件客户端所在的计算机上,默认情况下通常为用户的本地计算机。
能够提供IMAP与/或POP3服务器功能的软件:Courier、Dovecot与Zimbra。
垃圾邮件过滤器的作用在于降低邮件服务器收到的垃圾邮件数量。垃圾邮件过滤器的起效原理在于启用垃圾检测规则——其会利用一系列指标对信息进行过滤,具体包括消息来源服务器、消息内容等等。如果某条消息的“垃圾级别”达到阈值,则其即会被标记为垃圾邮件。
垃圾邮件过滤器还能够作用于发出邮件。这项功能适用于用户邮箱账户遭到窃取的情况。
SpamAssassin是目前的一款高人气开源垃圾邮件过滤器。
杀毒软件用于检测病毒、木马、恶意软件以及其它存在于往来邮件中的威胁元素。ClamAV是目前最为流行的开源杀毒引擎。
很多用户都希望能够利用邮件前端访问邮件服务。在运行邮件服务器时,邮件前端基本上就是一套邮件客户端,允许用户通过浏览器对其进行访问——Gmail就是最典型的例子。邮件前端组件的运行需要配合Nginx或者Apache等Web服务器,且能够运行在邮件服务器当中。
能够实现邮件前端功能的软件包括Roundcube与Citadel。
现在大家已经熟悉了邮件服务器的基本组件,对其进行安装与配置需要耗费大量时间。另外还有其它一些同样复杂的维护任务,包括持续保证杀毒与垃圾邮件过滤规则,对各邮件服务器组件进行更新等等。
自行维护邮件服务器的另一大挑战在于保证其始终远离各类黑名单的收录——其亦被称为DNSBL、blocklist或者blackhole list。这些清单中包含有曾被报告发出过垃圾邮件的邮件服务器IP地址(或者存在未能正确配置的DNS记录)。很多邮件服务器会订阅其中一项或者多项黑名单,被据此对邮件来源服务器进行过滤。如果我们的邮件服务器被列入其中,那么发出的消息很可能被直接过滤并遭到丢弃。
如果我们的邮件服务器被列入黑名单,我们往往可以撤销列入(或者从黑名单中被移除)。在这种情况下,大家需要掌握被列入黑名单的原因并解决问题——包括搜索被列入的黑名单并按照提示进行撤销操作。
虽然人们每天都在使用电子邮件,但必须强调的是这是一套非常复杂的系统且很难实现故障排查。例如,如果我们发送的消息未被收到,那么排查工作该从哪里入手?这个问题可能源自众多邮件服务器组件之一的误配置,例如错误的邮件发出过滤机制或者黑名单等外部影响。
现在大家已经了解到运行自有邮件服务器的难点所在了,下面来看看相关替代方案。以下邮件服务都能够满足大家的需求,同时允许各位立足于自有域名实现邮件收发。
这份列表内容有限,我们还有更多项目可供选择,而且各服务都拥有自己的功能与价格定位。总而言之,根据需求进行选择即可。
如果大家希望在服务器上利用简单应用发送邮件,则无需配置完整的邮件服务器。大家可以直接设置Postfix等简单邮件传输代理(简称MTA)。具体方式请参阅如何在Ubuntu 14.04中安装并设置Postfix。
另外,大家可以在自己的服务器上配置sendmail以作为发出消息的邮件传输方案。
如果大家仍然想运行自己的邮件服务器,则可参阅以下几种不同的实现方式:
本文来源自DigitalOcean Community。英文原文:Why You May Not Want To Run Your Own Mail Server By Mitchell Anicasd
翻译:diradw