情况:
情况:我们拥有一个由专业提供商提供的托管专用服务器。我们目前在本地网络中使用 Tobit David.fx 服务器,该服务器通过 IMAP 从在线服务器获取发送到域的所有电子邮件。我们想用运行 Postfix 和 Dovecot 的 Ubuntu 服务器替换 David.fx。
我们期望的系统将是这样的:
我们的用户通过普通客户端(例如 Thunderbird)访问他们的邮箱,该客户端连接到我们本地网络内的服务器并从配置的地址获取邮件。
该本地服务器不应该做任何其他事情,只需从在线 IMAP 邮箱中获取所有电子邮件并将其放入其自身的相应邮箱中即可。
外发邮件也应如此发送,只是方式相反。客户使用其邮件程序,该程序配置为通过本地网络服务器上的 SMTP 发送。该服务器实际上并不自行发送邮件,而是使用在线服务器发送邮件。
就像在线服务器充当某种代理或隧道一样。在线服务器上设置转发到我们的本地邮件服务器不是一个选择。
根据上面描述的情况,我是否应该进一步研究如何使用 Postfix 和 Dovecot 来实现这一点?它们适合这种情况吗?我发现了大量可供阅读的资源,但由于术语相同,所以其中描述的问题大多不同。
附言:我想提供它的草图,但由于在 ServerFault 上缺乏声誉,所以我还无法做到。
答案1
这是针对您的情况建议的邮件流程图。
External mail server
| ▲
| |
POP3 SMTP
| |
▼ |
Local mail server
首先,你需要进行设置在职的带有 postfix 和 dovecot 的本地邮件服务器。postfix 的重要参数是 never列出您的本地域名在 中relay_domains
。您可以使用virtual_mailbox_domains
或mydestination
作为本地域。
其次,您需要将用户从外部邮件服务器填充/同步到本地。因此,外部邮件服务器具有用于接收电子邮件的有效收件人列表,而本地邮件服务器具有用于身份验证和管理的用户数据库。
对于传出电子邮件流,只需设置带有 SASL 的 SMTP 提交服务。然后relayhost
在 postfix 中设置您的外部邮件服务器。您还应该设置 postfix SMTP 客户端使用单一用户名或其他方法。这取决于您的提供商邮件服务器。
对于传入电子邮件流,您应该使用cron /其他守护进程方法定期检查外部邮件服务器中的INBOX,通过POP3下载新邮件(下载后不要忘记删除)并将其放入正确的邮箱中。获取邮件适合这项任务。