如何获取 telnet localhost 25 输出 250-AUTH LOGIN?类似于所问的问题这里 和这里,我使用 Ubuntu 12.04LTS 设置了 Postfix-Dovecot 邮件服务器,但无法进行身份验证。
什么时候smtp_tls_auth_only = no
(正如这里推荐的),我的连接关闭:
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
当 时smtp_tls_auth_only = yes
,我得到的结果如下:
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mydomain.com ESMTP Postfix (Ubuntu)
ehlo localhost
250-mydomain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
以下是各自 bash 提示命令的输出(以粗体显示):
**postconf -m**
/etc/postfix$ postconf -m
btree
cidr
environ
fail
hash
internal
memcache
nis
proxy
regexp
sdbm
sqlite
static
tcp
texthash
unix
**postconf -a**
cyrus
dovecot
**postconf -n**
alias_database = hash:/etc/aliases
alias_maps = pgsql:/etc/postfix/pgsql-aliases.cf
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
html_directory = /usr/share/doc/postfix
inet_interfaces = all
inet_protocols = ipv4
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
mailbox_command =
mailbox_size_limit = 0
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
myhostname = mydomain.com
mynetworks = 127.0.0.0/8
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix/readme
recipient_delimiter = +
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname, check_helo_access hash:/etc/postfix/helo_access
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 550
**postconf -M**
smtp inet n - - - - smtpd
smtpd pass - - - - - smtpd
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=/var/spool/postfix/private/auth
smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_recipient_restrictions=reject_unknown_recipient_domain,reject_non_fqdn_recipient,permit_sasl_authenticated,reject
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
持续故障出现在/var/log/mail.log输出如:
Nov 25 09:38:07 mail postfix/master[1131]: reload -- version 2.9.6, configuration /etc/postfix
Nov 25 09:42:00 mail postfix/master[1131]: reload -- version 2.9.6, configuration /etc/postfix
Nov 25 09:42:11 mail postfix/smtpd[16030]: error: unsupported dictionary type: pgsql
Nov 25 09:42:11 mail postfix/smtpd[16030]: connect from localhost[127.0.0.1]
Nov 25 09:42:41 mail postfix/smtpd[16030]: lost connection after EHLO from localhost[127.0.0.1]
Nov 25 09:42:41 mail postfix/smtpd[16030]: disconnect from localhost[127.0.0.1]
Nov 25 09:43:45 mail postfix/master[1131]: reload -- version 2.9.6, configuration /etc/postfix
Nov 25 09:43:51 mail postfix/smtpd[16067]: error: unsupported dictionary type: pgsql
Nov 25 09:43:51 mail postfix/smtpd[16067]: connect from localhost[127.0.0.1]
Nov 25 09:43:51 mail postfix/smtpd[16067]: warning: SASL: Connect to private/auth failed: Connection refused
Nov 25 09:43:51 mail postfix/smtpd[16067]: fatal: no SASL authentication mechanisms
Nov 25 09:43:52 mail postfix/master[1131]: warning: process /usr/lib/postfix/smtpd pid 16067 exit status 1
Nov 25 09:43:52 mail postfix/master[1131]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Nov 25 09:46:25 mail postfix/smtpd[16082]: error: unsupported dictionary type: pgsql
Nov 25 09:46:25 mail postfix/smtpd[16082]: connect from mail134-3.atl141.mandrillapp.com[198.2.134.3]
Nov 25 09:46:25 mail postfix/smtpd[16082]: warning: SASL: Connect to private/auth failed: Connection refused
Nov 25 09:46:25 mail postfix/smtpd[16082]: fatal: no SASL authentication mechanisms
Nov 25 09:46:26 mail postfix/master[1131]: warning: process /usr/lib/postfix/smtpd pid 16082 exit status 1
Nov 25 09:46:26 mail postfix/master[1131]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Nov 25 09:48:06 mail postfix/anvil[16084]: statistics: max connection rate 1/60s for (smtp:198.2.134.3) at Nov 25 09:46:25
Nov 25 09:48:06 mail postfix/anvil[16084]: statistics: max connection count 1 for (smtp:198.2.134.3) at Nov 25 09:46:25
Nov 25 09:48:06 mail postfix/anvil[16084]: statistics: max cache size 1 at Nov 25 09:46:25
Nov 25 09:59:40 mail postfix/smtpd[16167]: error: unsupported dictionary type: pgsql
Nov 25 09:59:40 mail postfix/smtpd[16167]: connect from localhost[127.0.0.1]
Nov 25 09:59:40 mail postfix/smtpd[16167]: warning: SASL: Connect to private/auth failed: Connection refused
Nov 25 09:59:40 mail postfix/smtpd[16167]: fatal: no SASL authentication mechanisms
Nov 25 09:59:41 mail postfix/master[1131]: warning: process /usr/lib/postfix/smtpd pid 16167 exit status 1
Nov 25 09:59:41 mail postfix/master[1131]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Nov 25 10:00:48 mail postfix/smtpd[16177]: error: unsupported dictionary type: pgsql
Nov 25 10:00:48 mail postfix/smtpd[16177]: connect from localhost[127.0.0.1]
Nov 25 10:01:26 mail postfix/smtpd[16181]: error: unsupported dictionary type: pgsql
Nov 25 10:01:26 mail postfix/smtpd[16181]: connect from mail134-3.atl141.mandrillapp.com[198.2.134.3]
Nov 25 10:01:26 mail postfix/smtpd[16181]: warning: SASL: Connect to private/auth failed: Connection refused
Nov 25 10:01:26 mail postfix/smtpd[16181]: fatal: no SASL authentication mechanisms
Nov 25 10:01:27 mail postfix/master[1131]: warning: process /usr/lib/postfix/smtpd pid 16181 exit status 1
Nov 25 10:01:27 mail postfix/master[1131]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Nov 25 10:03:07 mail postfix/anvil[16182]: statistics: max connection rate 1/60s for (smtp:198.2.134.3) at Nov 25 10:01:26
Nov 25 10:03:07 mail postfix/anvil[16182]: statistics: max connection count 1 for (smtp:198.2.134.3) at Nov 25 10:01:26
Nov 25 10:03:07 mail postfix/anvil[16182]: statistics: max cache size 1 at Nov 25 10:01:26
Nov 25 10:05:54 mail postfix/smtpd[16177]: timeout after EHLO from localhost[127.0.0.1]
Nov 25 10:05:54 mail postfix/smtpd[16177]: disconnect from localhost[127.0.0.1]
Nov 25 10:16:27 mail postfix/smtpd[16502]: error: unsupported dictionary type: pgsql
Nov 25 10:16:27 mail postfix/smtpd[16502]: connect from mail134-3.atl141.mandrillapp.com[198.2.134.3]
Nov 25 10:16:27 mail postfix/smtpd[16502]: warning: SASL: Connect to private/auth failed: Connection refused
Nov 25 10:16:27 mail postfix/smtpd[16502]: fatal: no SASL authentication mechanisms
Nov 25 10:16:28 mail postfix/master[1131]: warning: process /usr/lib/postfix/smtpd pid 16502 exit status 1
Nov 25 10:16:28 mail postfix/master[1131]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Nov 25 10:18:08 mail postfix/anvil[16504]: statistics: max connection rate 1/60s for (smtp:198.2.134.3) at Nov 25 10:16:27
Nov 25 10:18:08 mail postfix/anvil[16504]: statistics: max connection count 1 for (smtp:198.2.134.3) at Nov 25 10:16:27
Nov 25 10:18:08 mail postfix/anvil[16504]: statistics: max cache size 1 at Nov 25 10:16:27
请注意,根据我如何设置 alias_maps 标志,例如从默认 hash:/etc/postix 到可选(请参阅www.postfix.org/pgsql_table.5.html)alias_maps = pgsql:/etc/pgsql-aliases.cf,我得到不同的输出,但仍然无法克服与 private/auth 或 /var/spool/postfix/private/auth 相关的一些一致故障。
答案1
出色地...
所有内容实际上都记录在您的日志中:
Nov 25 09:42:11 mail postfix/smtpd[16030]: error: unsupported dictionary type: pgsql
您的 postfix 无法识别 pgsql 字典类型(正如您所见,它不在您的列表中)您必须安装以下软件包:
postfix-pgsql
- PostgreSQL 地图支持 Postfix
第二件事是 SASL:
Nov 25 09:46:25 mail postfix/smtpd[16082]: warning: SASL: Connect to private/auth failed: Connection refused
Nov 25 09:46:25 mail postfix/smtpd[16082]: fatal: no SASL authentication mechanisms
只是快速查看一下您的配置。有些配置错误,dovecot(据我所知,您想将其用于 sasl)无法访问 private/auth。我会首先检查文件权限。
解决这两个问题,然后我们看看是否还有其他问题。
答案2
常见的是 /etc/postfix/main.cf 错误。特别是以下几行:
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
sudo postconf -e 'inet_interfaces = all'
我第一次输入错误 smtpd_recipient_restrictions 并且花了 3 天时间寻找这个问题。
PS:在同一个文件中, smtpd_tls 选项也有可能引发此类问题。