由于微软将淘汰 SMTP 的基本身份验证,我想我会尝试设置一个内部电子邮件服务器(在 Docker 上),基本上允许我家庭实验室中的应用程序使用内部电子邮件系统而不是付费服务(如 SMTP2GO)发送电子邮件。
例如,我使用发送电子邮件通知的 Open Media Vault。我希望它通过内部服务器发送电子邮件,我可以通过 Outlook 365 查看该电子邮件(让 Outlook 365 从我的本地内部电子邮件服务器获取电子邮件)。
实际上,根本不需要打开到互联网的端口,因为所有往返于我的内部服务器的电子邮件流量都仅限于内部。
我尝试在网上寻找这方面的例子,并使用一些AI工具来生成指令,但没有成功。
- 所以我的第一个问题是......这可能吗?
- 并且假设是,那么最好的解决方法是什么(和/或这是否记录在说明中或您可以分享的 YouTube 视频中)?
是的,一般来说,邮件服务器并不需要能够通过互联网访问。事实上,情况恰恰相反;邮件服务器在连接到互联网之前通常只在本地进行投递。
(例如,Debian Linux 曾经将 Exim 作为默认安装的一部分,距离成为 SMTP 侦听器只有一步之遥。)
您的 Outlook 邮件客户端是否支持此功能是另一个问题。几乎所有桌面邮件客户端都可以连接到任何本地 IMAP 服务而不会出现太多抱怨,我相信“Outlook 2021 LTS”也是如此,但我听说“新 Outlook”(又名更名为“Windows 10 Mail”)至少部分基于“云”,我不知道“Outlook 365”在这一切中处于什么位置。
您需要的两个组件是 SMTP 服务和 IMAP 服务,SMTP 服务用于接收来自各个系统的消息,IMAP 服务用于允许 Outlook 或其他邮件客户端应用程序访问该邮件。传统上,在 Linux/其他类 Unix 系统中,这两个服务是分开的,但一些较新的 Linux 邮件系统以及大多数 Windows 邮件服务器将这两个功能集成为一个。
使用 Linux 上的传统软件,您可能从 SMTP 服务(例如 Postfix、Exim、OpenSMTPd)开始,然后添加 IMAP 服务(例如 Dovecot、Cyrus)。
在完全内部设置中,您不需要 SPF/DKIM/DMARC,因为邮件不会发送到外部站点,甚至不需要 DNS MX 记录,因为其他站点也不会向您发送邮件。不过,您至少应该有某种 DNS,只是为了避免到处硬编码 SMTP 服务器的 IP 地址,但只要所有系统都同意,就可以使用内部虚构的域。
我能够让它
docker-mailserver
在邮件服务器上工作。在 Thunderbird 上设置很容易,但我也在 Outook 上设置了它(只是有点麻烦 - 添加帐户的过程抛出了错误 - 但当我返回并将帐户编辑为相同的值时,它就起作用了??)。无论如何,如果其他人感兴趣,这个页面和这个视频都非常有用。对于 Outlook 365(客户端),以下是设置访问的步骤:
docker-mailserver
,docker 是服务器本身的主机名。)docker-mailer
id的密码[email protected]
。)出现了一条错误消息 - 但同时电子邮件发送成功了?
并且它可以与添加到 Outlook 365 中的帐户列表中的帐户一起使用。