nginx 邮件模块始终将 PLAIN 方法 AUTH 命令传递给后端

nginx 邮件模块始终将 PLAIN 方法 AUTH 命令传递给后端

我已经实现了带有邮件模块的 nginx,并代理到后端 Hmail 服务器。我意识到无论我如何禁用 auth-methods PLAIN。nginx 都会忽略它。

我如何强制使用 smtp_auth 登录?因为 Hmail 服务器不支持 AUTH_PLAIN 机制。


auth_http  localhost:8080/auth.pl;

 server {
        # not working as always AUTH_PLAIN
        listen    25;
        protocol  smtp;
        smtp_auth login;
#       starttls on;
        timeout 5s;
        proxy on;
        xclient off;
        proxy_smtp_auth on;
    }

答案1

事实上,我用另一种方法解决了这个问题,因为我想使用我的 NGIX 和 MAILCOW 的所有功能,所以我用了这种方法

NGINX配置文件

流 { 包括 /etc/nginx/streams/*; }

/etc/nginx/streams/mailcow_proxy.conf

server {
listen [::]:25 ipv6only=off;
listen [::]:143 ipv6only=off;
listen [::]:587 ipv6only=off;
listen [::]:993 ipv6only=off;
proxy_pass 10.11.12.13:$server_port;
proxy_protocol on;
}

结论

您无需干扰 nginx 进行身份验证,只需将任何内容直接传递给您的邮件服务器,就像直接连接一样。

您也可以直接插入 nginx.conf,但我不喜欢这种方式。

相关内容