SMTP错误<<:在未公布时使用的AUTH命令

时间:2013-01-21 09:34:55

标签: email authentication exim exim4

我在Webmail Lite中遇到此错误。

我安装了Exim。以下是auth块的片段:     PLAIN:

  driver                     = plaintext

  server_set_id              = $auth2

  server_prompts             = :
  .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
  server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
  .endif 

  server_condition           = “${if crypteq{$auth3}{${extract{1}{:}{${lookup{$auth2}lsearch{/etc/$domain/passwd}{$value}{*:*}}}}}{1}{0}}”

我将passwd存储为以下格式: 用户名:{MD5} asddfasdlasdkandlanskfdaf

如何启用AUTH并正常工作? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

在我的情况下,此错误不会定期发生。有时它会工作但有时会出现此错误。(SMTP错误:无法进行身份验证。)

我调试了这个然后我发现了这个

SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "503 AUTH command used when not advertised "
SMTP -> get_lines(): $data is "503 AUTH command used when not advertised "
SMTP -> FROM SERVER:503 AUTH command used when not advertised
SMTP -> ERROR: RSET failed: 503 AUTH command used when not advertised
SMTP Error: Could not authenticate. 

答案 1 :(得分:0)

此错误消息的一个原因是发送HELO而不是EHLO,或者发送EHLO的顺序错误。

但是,当服务器运行Exim时,即使使用EHLO,也会出现此消息。

在我的服务器上,找到了解决方案。在WHM>主页>服务配置> Exim中 配置管理器,选项“要求客户端使用SSL连接 或在允许他们进行身份验证之前发出STARTTLS命令 与服务器”设置为默认值(On)。我不确定是否这样做 还是不,这通常是个安全的好主意,但是却迫使 mailserver仅启用(广告)STARTTLS命令,而不启用AUTH。所以 当我的脚本发送AUTH时,服务器发送的错误消息是正确的。 有关更多信息,请访问http://blog.networkpresence.co/?p=8923。 有一天我有时间会发现如何更改脚本以使用 TLS,因此为了安全起见,我可以将该Exim选项打开。