各位大哥,大姐好!
    小弟使用TIndySmtp实现一个邮件发送程序。但是老是出错。
    错误描述:填写完相关信息后,将邮件发送出去。但是connect之后,到send的时候就弹出一个raise窗口,窗口里面的提示是OK!,然后就全部退出来了,根本发不出去,请问这是什么原因?急呀,在线等………………

解决方案 »

  1.   

    http://www.delphibbs.com/delphibbs/dispq.asp?lid=3359545
      

  2.   

    按照你给我的帖子的方法改了还是出现同样的问题啊!另外我的邮件服务器是自己建,没有任何的设置的。但是就是老是出现“ok”的raise窗口。发不出去。高手在吗?
      

  3.   

    建议用CMAILSERVER试试吧,说不定是MAILSERVER的问题。
    不过我最近测试了一下,indySMTP问题挺多,发送附件时正文不能发送HTML格式。HTML正文编码后有时候会出现乱码,用起来也比DELOHI6中带的NMSMTP麻烦。可惜NMSMTP的新版本没地方下载。
      

  4.   

    我具体跟踪了一下,发现是在请求数据发送时出现的:
    SendCmd('Rset'); {Do not localize}
      if NeedToAuthenticate then
      begin
        Authenticate;
      end;
      SendCmd('Mail from:<' + AMsg.From.Address + '>', 250); {Do not localize}
      WriteRecipients(AMsg.Recipients);
      WriteRecipients(AMsg.CCList);
      WriteRecipients(AMsg.BccList);
      
      SendCmd('Data', 354); {Do not localize}
      AMsg.ExtraHeaders.Values['X-Mailer'] := MailAgent; {Do not localize}
      SendMsg(AMsg);
      SendCmd('.', 250); {Do not localize}在SendCmd('Data', 354); 的时候返回的响应不是354 ok,而是220 ok,这是怎么回事呀?麻烦哪位高手能够指点迷津