c#SMTP auth send problem参数或参数中的语法错误

时间:2011-09-12 18:19:35

标签: .net authentication smtp

我在c#中有一个发送电子邮件的方法。工作正常,已经工作了两年。

我遇到了一个SMTP服务器的问题。我使用SmartSniff查看了TCP会话,发现了一个有问题的握手:

命令后

  

AUTH登录dGJp

我收到错误说

  

501参数或参数中的语法错误

另一方面,当我使用同一帐户从outlook发送邮件时,上述命令分为两部分:

  

AUTH LOGIN

     

334 VXNlcm5hbWU6

     

dGJp

如您所见,从outlook发送时,客户端在发送用户名和服务器响应之前暂停,询问“用户名:”(VXNlcm5hbWU6) 该行之后没有错误发生。然后,服务器要求输入密码,并使用 235身份验证成功

进行回复

有没有人遇到过这个问题?

我尝试使用不同的邮件服务器,在一行上进行身份验证时,一切正常(第一个示例)。由于某种原因,这个SMTP服务器不喜欢它。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

它并没有真正帮助你,但AUTH LOGIN已被弃用,非标准方法,它没有正式的规范。有一个信息性RFC试图将其记录为历史目的和Microsoft规范。这些相互矛盾。 .Net似乎是以Microsoft的方式实现它,而你遇到的服务器实现了它。 (顺便使用哪种服务器软件?)如果可能,请使用标准的AUTH PLAIN方法。