Postfix 身份验证问题

Postfix 身份验证问题

我目前面临身份验证问题。当我尝试通过 telnet 进行身份验证时,我遇到了一个问题

"535 5.7.8 Error: authentication failed: authentication failure"

我使用与登录服务器相同的密码和登录信息,但是它说登录信息错误。

这是我的 telnet 日志:

telnet ....... 25
Trying ...........
Connected to .........
Escape character is '^]'.
220 ..........com ESMTP Postfix 
EHLO local.domain.name 
250-...........com 
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH DIGEST-MD5 CRAM-MD5 NTLM PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login

然后我用 base64 编码我的登录名和密码并出现错误。

这是我的配置文件:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
#delay_warning_time = 4h
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = .........
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = /etc/postfix/local-host-names
relayhost =
#mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mynetworks = 0.0.0.0/0
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
smtpd_sasl_auth_enable = yes
smtp_sasl_auth_enable = yes

home_mailbox = Maildir/
mailbox_command =
virtual_maps = hash:/etc/postfix/virtusertable

我这里漏掉了什么?谢谢

答案1

Postfix SASL 操作指南首先。你缺少这个:

Postfix 本身不实现 SASL,而是使用现有实现作为构建块。这意味着一些与 SASL 相关的配置文件将属于 Postfix,而其他配置文件则属于 Postfix 将使用的特定 SASL 实现。本文档涵盖 Postfix 和非 Postfix 配置。

Postfix SMTP 服务器中的成功身份验证需要功能齐全的 SASL 框架。因此,在配置 Postfix 之前,配置 SASL 应该始终是第一步。

但这仅仅是个开始。你可能实际上并不想像现在这样允许纯文本身份验证,但可以使用STARTTLS,然后,经过身份验证的用户通常使用提交在端口上587,因为端口25通常在非用于邮件服务器的互联网连接上被阻止。Postfix 和 Dovecot SASLDovecot wiki 中的操作方法将大部分内容与清晰的配置示例完美地结合在一起。

相关内容