我在 Postfix 上配置 Roundcube 的 SMTP 身份验证时遇到了麻烦。所有凭据都是正确的,因为我使用 Thunderbird 和我的手机电子邮件客户端的电子邮件没有任何问题。以下是 Roundcube 的 SMTP 配置:
$rcmail_config['smtp_server'] = 'tls://mx.cyssea.com';
$rcmail_config['smtp_port'] = 587;
$rcmail_config['smtp_user'] = '%u';
$rcmail_config['smtp_pass'] = '%p';
$rcmail_config['smtp_auth_type'] = '';
$rcmail_config['smtp_auth_cid'] = null;
$rcmail_config['smtp_auth_pw'] = null;
$rcmail_config['smtp_helo_host'] = '';
$rcmail_config['smtp_timeout'] = 0;
当我尝试从 roundcube 发送电子邮件时,出现以下错误:
[12-Jul-2012 16:33:35 +0300]: SMTP Error: SMTP error: Authentication failure: No supported authentication methods (Code: ) in /usr/share/roundcube/program/include/main.inc on line 1745 (POST /roundcube/?_unlock=loading1342100016360&_lang=en?_task=mail&_action=send)
即使安装了 PHP 的 SASL 身份验证模块。
邮件服务器和 Roundcube 之间的通信如下:
[12-Jul-2012 20:00:47 +0300]: Recv: 220 mx.cyssea.com ESMTP Postfix (Ubuntu)
[12-Jul-2012 20:00:47 +0300]: Send: EHLO 192.168.12.18
[12-Jul-2012 20:00:47 +0300]: Recv: 250-mx.cyssea.com
[12-Jul-2012 20:00:47 +0300]: Recv: 250-PIPELINING
[12-Jul-2012 20:00:47 +0300]: Recv: 250-SIZE 10240000
[12-Jul-2012 20:00:47 +0300]: Recv: 250-ETRN
[12-Jul-2012 20:00:47 +0300]: Recv: 250-STARTTLS
[12-Jul-2012 20:00:47 +0300]: Recv: 250-AUTH CRAM-MD5
[12-Jul-2012 20:00:47 +0300]: Recv: 250-ENHANCEDSTATUSCODES
[12-Jul-2012 20:00:47 +0300]: Recv: 250-8BITMIME
[12-Jul-2012 20:00:47 +0300]: Recv: 250 DSN
[12-Jul-2012 20:00:47 +0300]: Send: STARTTLS
[12-Jul-2012 20:00:47 +0300]: Recv: 220 2.0.0 Ready to start TLS
[12-Jul-2012 20:00:47 +0300]: Send: EHLO 192.168.12.18
[12-Jul-2012 20:00:47 +0300]: Recv: 250-mx.cyssea.com
[12-Jul-2012 20:00:47 +0300]: Recv: 250-PIPELINING
[12-Jul-2012 20:00:47 +0300]: Recv: 250-SIZE 10240000
[12-Jul-2012 20:00:47 +0300]: Recv: 250-ETRN
[12-Jul-2012 20:00:47 +0300]: Recv: 250-AUTH CRAM-MD5
[12-Jul-2012 20:00:47 +0300]: Recv: 250-ENHANCEDSTATUSCODES
[12-Jul-2012 20:00:47 +0300]: Recv: 250-8BITMIME
[12-Jul-2012 20:00:47 +0300]: Recv: 250 DSN
[12-Jul-2012 20:00:47 +0300]: Send: RSET
[12-Jul-2012 20:00:47 +0300]: Recv: 250 2.0.0 Ok
[12-Jul-2012 20:00:47 +0300]: Send: QUIT
[12-Jul-2012 20:00:47 +0300]: Recv: 221 2.0.0 Bye
我在 Google 上找不到有关 SMTP 身份验证此类错误的任何信息。有人知道这种奇怪行为的原因是什么吗?
答案1
您的 Roundcube 安装似乎不支持 CRAM-MD5,这是 Postfix 提供的唯一机制。我可能只会启用 PLAIN 和 LOGIN 机制并使用它们。您可能在 中有这样的一行/etc/postfix/main.cf
:
smtpd_sasl_security_options = noanonymous, noplaintext
将其更改为:
smtpd_sasl_security_options = noanonymous