为什么我不能获得telnet localhost 25,ehlo localhost输出250-AUTH?

如何获得250-AUTH LOGIN的telnet localhost 25输出? 与此处和此处提出的问题类似,我使用Ubuntu 12.04LTS设置了Postfix-Dovecot邮件服务器,但无法对其进行身份validation。

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 - nn - - local virtual unix - nn - - virtual lmtp unix - - - - - lmtp anvil unix - - - - 1 anvil scache unix - - - - 1 scache maildrop unix - nn - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} uucp unix - nn - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) ifmail unix - nn - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - nn - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - nn - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix - nn - - 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标志,例如从默认哈希:/ etc / postix到可选(参见www.postfix.org/pgsql_table.5.html)alias_maps = pgsql:/etc/pgsql-aliases.cf,我获得了不同的输出,但仍然无法通过与private / auth或/ var / spool / postfix / private / auth相关的一些一致性故障。

好…

一切都在您的日志中:

 Nov 25 09:42:11 mail postfix/smtpd[16030]: error: unsupported dictionary type: pgsql 

你的postfix无法识别pgsql字典类型(因为你可以看到它不在你的列表中)你必须安装以下软件包:

postfix-pgsql – Postfix的PostgreSQL地图支持

第二件事是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。 我会检查文件权限作为第一件事。

解决这两个问题,让我们看看是否还有其他问题。

常见的是/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,选项也可能导致这类问题。