我看了其他的相关资料仍无法解决的问题,邮件还是无法发出去!
代码如下:
var
  MyMail:TIdMessage;
begin
  try
    SendUserName:=Copy (Edit_FromAddress.text,1,Pos('@',Edit_FromAddress.text) -1);
    with MyMail do
      begin
        Subject:=Edit_MailTitle.Text;
      //  Body:=Memo_Body.Lines;//<--有问题
        Recipients.EMailAddresses:=Edit_ToAddress1.Text;
        From.Address:=Edit_FromAddress.Text;//<--有问题
        ReceiptRecipient.Text:='';
      end;    if IdSMTP.Connected then IdSMTP.Disconnect;    IdSMTP.Host := Edit_SmtpHost.Text;
    IdSMTP.Port:=25;
    IdSMTP.UserName := SendUserName;
    IdSMTP.Password := Edit_FromUserPwd.Text;    IdSMTP.AuthenticationType := TAuthenticationType(true);
    IdSMTP.Connect;    IdSMTP.Authenticate;    IdSMTP.Send(MyMail);//<--有问题
    MessageBox(handle,'邮件发送成功!','恭喜您...',Mb_Ok+Mb_Iconinformation);
  except
    MessageBox(handle,'邮件发送失败!','警告...',Mb_Ok+Mb_IconWarning);
  end;

解决方案 »

  1.   

    什么问题?是不是smtp服务器的原因,try其他家的。
      

  2.   

    不应该是smtp服务器的问题,因为我的验证能通过,我猜是不是TIdMessage或IdSMTP有问题?还请高手指点!
      

  3.   

    我想应该是你的邮件格式的问题
     Body:=Memo_Body.Lines;//<--有问题
    其中Memo_Body.Lines应该是邮件体,你是否按协议来写的。你可以从OutLook中复制一段邮件体来试一下
     
      

  4.   

    我用Indy控件写的邮件客户端程序一直都可以用啊
      

  5.   

    你用的是D6吧
    C:\Program Files\Borland\Delphi6\Demos\Indy\MailClient下不是用很完整的例子吗???