我现在用C#开发的一个邮件管理系统功能类似于outlook,没有用C#提供的发邮件组件自己通过Socket实现,现在在其它的smtp服务器上测试能成功发送邮件,但在21cn的smtp上发送邮件则返回553的错误,没有办法发送邮件,关于smtp认证已经是成功的,但在发送邮件正文的内容时则返回这个553的错误,不知是何解,是21cn的smtp邮件服务器有什么特殊的要求?知道的达人请告诉我一声,多谢!

解决方案 »

  1.   

    你确认smtp认证成功了,如果成功了发邮件出问题,你把错误信息写出来 写全
      

  2.   

    用的是esmtp认证,认证成功了下面是我的步骤AUTH LOGIN
    返回:334
    发送用户名
    返回:334
    发送密码
    返回:235(返回这个已经表示服务器认证成功了)
    MAIL FROM:<发送邮件的地址>
    返回:250
    RCPT TO:<接收邮件地址>
    返回:250
    DATA
    返回:354
    下面发送邮件正文
    但返回了553正常应该返回250的
      

  3.   

    try   catch
    是没有用的,因为这个错误是服务器返回的结果,并不是c#运行出现错误
      

  4.   

    问题找到,原来是少了X-mailer属性的说明,有些邮件服务器可能比较注重这个属性所以导致退信.