我知道这看起来与论坛上的其他问题类似,但它们似乎与我遇到的核心问题不同。
我正在运行 Ubuntu 14.04 LTS,并且机器上安装了 postfix 和 dovecote。我使用 dovecote 为 postfix 提供 SASL 服务以发送电子邮件。
如果我手动连接到我的服务器,
openssl s_client -connect my.server.com:465 -starttls smtp
我可以使用简单的身份验证正确地进行身份验证
ELHO localhost
AUTH PLAIN base64==
如果我尝试从 Thunderbird(在我的 Mac 上运行)发送电子邮件,客户端会挂起。如果我为我的域向 Postfix 添加跟踪,则跟踪毫无意义。看起来 Thunderbird 发送的是垃圾信息而不是有效的 SMTP 命令,然后不处理从 Postfix 返回的错误代码。下面的跟踪已被清理,但仅限于 IP 和其他标识标记已被匿名化的程度。特别是,以“<”开头的行(来自服务器的 SMTP 命令)尚未被修改。
name_mask: plaintext
xsasl_dovecot_server_connect: auth reply: SPID?1916
xsasl_dovecot_server_connect: auth reply: CUID?2
xsasl_dovecot_server_connect: auth reply: COOKIE?251582cd3a4c5c6bf55cb3dcd7b4ca93
xsasl_dovecot_server_connect: auth reply: DONE
xsasl_dovecot_server_mech_filter: keep mechanism: PLAIN
xsasl_dovecot_server_mech_filter: keep mechanism: LOGIN
watchdog_pat: 0x7fee42fb0640
< <my-ip>.myisp.com[<my.ip>]: ???
match_string: ??? ~? CONNECT
match_string: ??? ~? GET
match_string: ??? ~? POST
match_list_match: ???: no match
> <my-ip>.myisp.com[<my.ip>]: 502 5.5.2 Error: command not recognized
watchdog_pat: 0x7fee42fb0640
< <my-ip>.myisp.com[<my.ip>]: ??????????????
match_string: ? ~? CONNECT
match_string: ? ~? GET
match_string: ? ~? POST
match_list_match: ?: no match
> <my-ip>.myisp.com[<my.ip>]: 502 5.5.2 Error: command not recognized
watchdog_pat: 0x7fee42fb0640
< <my-ip>.myisp.com[<my.ip>]:
> <my-ip>.myisp.com[<my.ip>]: 500 5.5.2 Error: bad syntax
watchdog_pat: 0x7fee42fb0640
<host> dovecot: imap-login: Login: user=<user>, method=PLAIN, rip=<my.ip>, lip=<server.ip>, mpid=1922, TLS, session=<aeBDooH3KACi+7mG>
<host> dovecot: imap-login: Login: user=<user>, method=PLAIN, rip=<my.ip>, lip=<server.ip>, mpid=1924, TLS, session=<D/hNooH3KQCi+7mG>
smtp_get: EOF
match_hostname: <my-ip>.myisp.com ~? 127.0.0.0/8
match_hostaddr: <my.ip> ~? 127.0.0.0/8
match_hostname: <my-ip>.myisp.com ~? [::ffff:127.0.0.0]/104
match_hostaddr: <my.ip> ~? [::ffff:127.0.0.0]/104
match_hostname: <my-ip>.myisp.com ~? [::1]/128
match_hostaddr: <my.ip> ~? [::1]/128
match_list_match: <my-ip>.myisp.com: no match
match_list_match: <my.ip>: no match
send attr request = disconnect
send attr ident = smtps:<my.ip>
private/anvil: wanted attribute: status
input attribute name: status
input attribute value: 0
private/anvil: wanted attribute: (list terminator)
input attribute name: (end)
lost connection after UNKNOWN from <my-ip>.myisp.com[<my.ip>]
disconnect from <my-ip>.myisp.com[<my.ip>]
由于它是手动工作的,所以我觉得我已经解决了 postfix/dovecote/SSL 问题,但也许我遗漏了一些东西。
谢谢您的帮助。