Postfix TLS 身份验证未启用

Postfix TLS 身份验证未启用

我已经按照指导。

当我 telnet mydomain.com 25 并使用 AUTH 命令时,它返回:

Error: authentication not enabled

尝试通过 Outlook 登录时返回未知错误,并且当我向某个地址发送电子邮件时收到中继访问被拒绝错误。

但是,mxtoolbox告诉我一切设置正常。

答案1

您可能已添加smtpd_tls_auth_only=yes到您的 main.cf 中?

此选项使得仅在设置 tls 后才发生身份验证。

因此,如果您通过 telnet 连接到您的 smtp 端口,然后发出 auth 命令,您将会得到该信息,因为此时not enabled error仍未建立连接。tls

答案2

由于您在 postfix 日志中看不到任何内容,因此至少 postfix 配置不正确。

首先,确认 Dovecot 已配置(在dovecot.conf),如下所示:

auth default {
    mechanisms = plain login
    passdb pam {
    }
    userdb passwd {
    }
    user = root
    socket listen {
      client {
        path = /var/spool/postfix/private/auth
        mode = 0660
        user = postfix
        group = postfix
      }
    }
}

在您的 postfix 中确认以下内容main.cf

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sender_restrictions = permit_sasl_authenticated`

在 中master.cf,确保您的提交端口提供 SASL 服务。您可以将其放入smtp服务中,以便在端口 25 上进行身份验证,但这种情况并不常见。您还应该将其放入 smtps 服务中,以便进行加密访问:

submission inet n - - - - smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sasl_local_domain=$myhostname
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_sender_restrictions=reject_sender_login_mismatch
  -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject

答案3

这是两件不同的事情。

1:SSL/TLS 支持

2:身份验证

它们是独立的,也就是说,可以只使用其中一个,而不需要另一个。当然,如果身份验证只在已加密的通道上进行,那就更好了。

可能你的 postfix 没有第二个(auth),只有TLS

Postfix 上的身份验证通过sasl身份验证守护进程进行,该守护进程也需要进行配置。

mxtoolbox 说一切正常,因为它不检查身份验证,只检查加密。

答案4

您使用了错误的端口。

经过验证的外发电子邮件在端口 587 上,而不是端口 25 上。

相关内容