几年前,我建立了一个通过 office365 进行中继的 postfix 中继。这仅限于 VPN 上的主机,但现在想提供一个公共 IP 并允许远程打印机通过 postfix 中继以发送到电子邮件。
我的问题是缺乏对如何为打印机添加 smtp 身份验证而不弄乱 office365 的身份验证的理解。我认为这纯粹是一个观点问题。
新的 postifix 安装正在 Docker 中运行,使用此处的配置https://github.com/juanluisbaptiste/docker-postfix其工作原理与我以前安装的一样。
更新 :
看来我只需要弄清楚如何让 saslauthd 在容器中运行。然后它应该使用本地帐户对 pam 进行身份验证。
答案1
这不是最干净的解决方案,但它可以满足我的需求。
将以下内容添加到 docker 文件
RUN echo -e "smtpd_sasl_auth_enable = yes\n\
smtpd_sasl_security_options = noanonymous\n\
smtpd_sasl_local_domain = \$myhostname\n\
broken_sasl_auth_clients = yes\n\
smtpd_recipient_restrictions =\n\
permit_sasl_authenticated,\n\
permit_mynetworks,\n\
check_relay_domains\n" >> /etc/postfix/main.cf
...
RUN adduser test; echo -e "test\ntest" | passwd test
然后在github上我引用的项目作者创建的run.sh文件的“#Start services”下添加以下内容。
/usr/sbin/saslauthd -a pam
我现在可以进行身份验证了。现在转到 TLS,然后在 AWS 中部署。