我已经设置了一个带有 sendmail 和 dovecot+virtual 用户的 Debian 10 邮件服务器,以准备迁移(旧服务器也在运行 sendmail + dovecot,但旧版本和“真实”用户)。
在鸽舍一侧,一切都是桃色的。我为测试设置了密码文件身份验证,我可以登录、保存草稿并在我的 IMAP 客户端中查看本地传递的邮件。
但是,在发送时,sendmail 设置为需要身份验证,我正在寻找一种方法让 sendmail 使用与 dovecot 相同的身份验证数据库,理想情况下甚至可以针对 dovecot 进行身份验证(通过 SASL?)。
在网上搜索并没有产生任何有用的结果,显然 sendmail + dovecot 组合比较少见。虽然我不打算永远停留在这个问题上,但我现在正在寻找一个快速的解决方案,为我争取时间迁移到一个新的堆栈。
您可以使用远程 imap 功能将 cyrus-sasl 配置为针对 dovecot 进行身份验证。
例如在 CentOS 中(针对本地 IMAP/Dovecot 的身份验证):
但是,这可能会有问题,因为您将与 IMAP 服务器进行更多连接,并且在日志中,您将看到来自 localhost 的登录尝试,因此请记住这一点。
尝试在端口 msa(587) 上使用dovecot-msa,并将“类似本地 sendmail”中继到
127.0.0.1:25
.恕我直言,这是使用 dovecot 维护的 IMAP、POP3 和 SMTP 密码的简单方法。
在 sendmail.mc 中使用
FEATURE(no_default_msa)
可禁用在端口 587 上的 sendmail 侦听。警告:让 sendmail 知道 dovecot 处理的有效虚拟电子邮件地址列表是一个单独的问题 [防止反向散射]。