SMTP/POP 服务器仅用于托管域上的内部电子邮件

SMTP/POP 服务器仅用于托管域上的内部电子邮件

我们有一个用于异地托管的网站和电子邮件的域。 (我们没有足够可靠的连接来自行托管它。)

我们的共享主机有时会出现 SMTP 问题,但不会出现 POP 问题。

是否可以在 CentOS 6.4 上设置一个内部工作的电子邮件服务器(即在我们域上的电子邮件地址之间发送,即使我们的网络域的命名与我们的网站不同),即使我们的互联网已关闭或我们的共享主机的 SMTP 服务器已关闭,但将使用我们的共享主机的 SMTP 来发送外部地址,并且仍然允许从共享主机检索 POP 邮件,例如,当我们在家或在路上时?

答案1

这个问题有几种可能的解决方案,而且它们都相当复杂。这是我能想到的最透明的配置,但老实说,如果主机的 SMTP 服务不可靠,我会切换主机。有很多优质、廉价的邮件服务提供商。另外,请考虑使用 IMAP 而不是 POP3,因为它可以缓解此类设置可能出现的同步问题。

由于邮件传输代理 (MTA) 和邮件投递代理 (MDA) 之间的必要耦合,该解决方案很复杂。为了使电子邮件存在于 POP3 服务器(MDA)上,它必须通过不可靠的 SMTP 服务器(MTA)传送。您的 MTA 无法在远程 MDA 上存储邮件,远程 MTA 也无法将邮件发送到您的 MDA。如果没有完全的双向消息同步,从办公室发送的公司内部电子邮件(“我们域上的电子邮件地址之间的发送”部分)将仅存储在本地 MDA 上。这意味着不在办公室工作的用户在检查托管 POP3 帐户时不会收到内部电子邮件。

您至少需要:

  • SMTP 的 MTA -导游是 CentOS 的默认设置,是一个不错的选择
  • 防火墙(用于 IP/端口重定向)- netfilter 或里内特将工作
  • POP3/IMAP 帐户的 MDA 和代理 -灭亡可能是最好的,Courier有这个功能

用于备份 SMTP 的本地 MTA

将邮件主机的 SMTP 服务器(远程 MTA)添加到/etc/courier/esmtproutes(或 CentOS 上安装该文件的任何位置),以使 Courier 将所有邮件转发给它。当主机的 SMTP 关闭时,本地 MTA 将对出站邮件进行排队,并以可配置的时间间隔重试传送到远程 MTA。

端口重定向

配置防火墙以将端口 25 上的所有出站流量转发到本地 MTA。

您可以仅实现上述最简单的配置。它不会允许内部电子邮件正常继续,但会使远程 MTA 停机时间不那么明显

具有托管域的本地 MTA

将您的公司域添加为 Courier(本地 MTA)的托管域/etc/courier/hosteddomains。这将覆盖智能主机并根据配置的路由规则传递消息。看建立托管域运输模块了解更多信息。

本地 MDA 和代理 这可以通过多种方式实现,例如:

  1. 保留电子邮件帐户凭据的本地副本,并使用它们向本地 MDA 验证用户身份,默认情况下,本地 MDA 可以传送到每个用户帐户的“本地”文件夹
  2. 使用 courier-authlib/authpipe 或 Perdition 同时将这些凭据中继到远程 MDA,包括其余文件夹
  3. 设置 cron 作业,以便在 SMTP 服务启动时重试将“本地”文件夹中的新邮件发送到远程 MTA

...或者实施内部 DNS 并:

  • 更改公司域上的 MX 首选项,将所有内容路由到两个 MTA(技术上需要两个内部 MTA)

或者

  • 只需为办公室内的电子邮件使用不同的(甚至是假的)域名,并将其实现为故障转移系统

相关内容