Sendmail 不接受 SMTPAUTH 中的用户 ID/密码

Sendmail 不接受 SMTPAUTH 中的用户 ID/密码

为了减少垃圾邮件的可能性,我尝试在 Sendmail(Mint MATE 17.1 x64 上的 8.14.4)安装中设置 SMTPAUTH。用户可以使用 IMAP 或 POP(使用 Dovecot)从服务器检索邮件,但无法发送邮件。

首先,我的 M4 文件中的守护进程选项:

FEATURE(`no_default_msa')dnl    
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl 
DAEMON_OPTIONS(`Name=MTALocal,Address=127.0.0.1,Family=inet')   
DAEMON_OPTIONS(`Name=MTA,Address=192.168.1.110,Family=inet')    
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl 
DAEMON_OPTIONS(`Name=MSA,Address=192.168.1.110,Family=inet,Port=587,Modifiers=E')   
DAEMON_OPTIONS(`Name=MSALocal,Address=127.0.0.1,Family=inet,Port=587,Modifiers=E')  

因为我使用 Thunderbird 作为客户端,所以 Sendmail 必须有 PLAIN 或 LOGIN。Thunderbird 设置为在端口 587 处连接到服务器。(我知道 192.168.xx 不可路由。我的防火墙设置为将端口 587 和 25 转发到 192.168.1.110。我在防火墙外部有一个静态可路由 IP。)我的 M4 文件的身份验证部分:

dnl # Forms of authentication allowed   
TRUST_AUTH_MECH(`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')  
define(`confAUTH_MECHANISMS',`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN') 

我意识到以纯文本形式推送凭据存在问题。我已设置为使用 STARTTLS。TLS 协商成功,并且我已确认 TLS 通过使用 OpenSSL 连接到我的邮件服务器并通过该服务器发送命令来工作。安装 Sendmail 时,它还创建了可提供 SMTP 身份验证的 PAM 安装。(SMTP 和 Dovecot 都有 PAM 附件。)

当我向 SMTP 服务器提供有效凭证时,它会响应

535 5.7.0 authentication failed

PAM 日志中没有任何内容明确表明 Sendmail 要求提供凭据。邮件日志中只有常见的“未提供 SEND/ETRN 即断开连接”。

我应该看什么?有什么办法可以解决这个问题吗?

相关内容