{拉2个控件下来IdSMTP1(在Indy Clients页面), IdMessage1(在Indy Misc页面)
 实现从[email protected]邮箱发送带附件的邮件到[email protected]邮箱}procedure TForm1.SendMail;
begin
  with IdSMTP1 do
  begin
    Host:='smtp.163.com';
    Port:=25;
    Username:='XXOO';
    Password:='13800138000';
    AuthenticationType:=atLogin;
  end;  with IdMessage1 do
  begin
    MessageParts.Clear;
    Recipients.EMailAddresses:='[email protected]';
    From.address:='[email protected]';
    Subject:='Hello';
    Body.Add('Hello World');
  end;  TIdAttachment.Create(IdMessage1.MessageParts,'D:\1.xls');  try
  IdSMTP1.Connect;
  except on E: Exception do
    begin
      showmessage('连接服务嚣失败:'+E.Message);
      exit;
    end;
  end;  try
  if IdSMTP1.Authenticate then
  begin
    try
    IdSMTP1.Send(IdMessage1);
    except on E: Exception do
      begin
        showmessage('在发送过程中发生错误:'+E.Message);
        exit;
      end;
    end;    showmessage('发送成功!');
  end;
  finally
    IdSMTP1.Disconnect;
  end;
end;

解决方案 »

  1.   

    你是用Delphi6写的,还是Delphi7写的
      

  2.   

    如果AuthenticationType:=atNone;把if IdSMTP1.Authenticate then去掉
      

  3.   

    我马上写好了,并且发送了,提示是成功的,跟我之前写的一样。但是就是没有发送成功。我用了我自己的163邮箱,并且都开启了POP和SMTP
      

  4.   

    AuthenticationType 我直接设置成atLogin,为何发送邮件后,实际QQ邮箱不能收到邮件呢,你那边有无邮箱地址,我发你的地址试下看
      

  5.   

    是不是被拦截了?我用D7写的,一直都这么用,发送都是成功的测试时,可以自己发给自己,如 [email protected] -> [email protected]
      

  6.   

    你用D7 indy是哪个版本的 估计跟版本有关的
    我下午用JMail,自带的例子发送也不行
      

  7.   

    username = 完整的Email帐号试试
      

  8.   

    最经才开始用delphi。。不怎么懂。但是很高兴的学习了
      

  9.   

    为什么我用的时候IdSMTP1.username会报错?IdSMTP1.userid倒是没错,但是运行以后报错,我的是delphi6....求教
      

  10.   

    我后来更换成INDY9控件解决的,早期的控件都存在发送邮件问题,估计是被邮件服务器拦截吧
      

  11.   

    用IdMessage发送的邮件内容为何总是有一串如下文字:
    =?GB2312?B?yMvIt8jPytW79cfpv/ahow==?=
    To: [email protected]
    Content-Type: text/plain
    Date: Tue, 20 Jan 2015 11:13:30 +0800
    然后是回车后,才是实际传入的邮件内容!用163发的邮件,Delphi+indy控件包【IdMessage、IdSMTP】发送的邮件
    之前是正常的,1月中旬后发送的邮件就如此了!