delphi 7邮件发送程序编写

delphi 7发送个邮件一般用到TIdSMTP与TIdMessage这两个组件,他们分别在Indy Clients和Indy Misc两个面板组件页内,或者通过菜单 View  -> Component List里面直接输入控件名字查找控件。

一般的邮件发送用到前两个控件就可以了,但是现在许多邮箱需要通过SSL加密来发送邮件,这样还需要一个控件TIdSSLIOHandlerSocket( Indy I/O Handler 页面)和一个SSL的Dll

的支持,ssl dll下载地址:ssllib.rar 或者 http://download.csdn.net/detail/webouse/708572 

dll使用方法:将下载的dll文件解压放到 程序 的目录下即可。

代码如下:

procedure TForm1.btn_SendClick(Sender: TObject);
var
  filename: string;
begin   //发送邮件主函数
  try
    IdSSLIOHandlerSocket1.SSLOptions.Method:=sslvSSLv3;
    IdSMTP1.IOHandler:= IdSSLIOHandlerSocket1;  //区别在这儿哟
    IdSMTP1.AuthenticationType:=atLogin; //设置登陆类型
    IdSMTP1.Username:='youeName'; //设置登陆帐号
    IdSMTP1.Password:='pasword'; //设置登陆密码
    IdSMTP1.Host:='smtp.gmail.com'; //设置SMTP地址
    IdSMTP1.Port:=465;     //设置端口 ,默认是25,gmail是465
    if not idsmtp1.Connected then
    begin
      IdSMTP1.Connect(2000); //开始连接服务器
    end;
  except
    Showmessage('连接失败,请重试!');
    Exit; //连接失败 的话 退出该执行过程
  end;
  IdMessage1.Body.Clear;  //先清空上次发送的内容
  IdMessage1.Subject:='Delphi邮件发送测试';  //设置邮件发送的标题
  IdMessage1.Body.add('这是一封来之delphi 7编写程序发送来的电子邮件');  //设置邮件发送的主体
  filename := 'C:\文件.txt';   //需要添加的附件文件
  TIdAttachment.Create(IdMessage1.MessageParts, filename);  //添加附件
  IdMessage1.From.Address:= '12345@gmail.com'; //设置邮件的发件人  也就是说该邮件来自什么地方
  IdMessage1.From.Name := 'tqs';
  IdMessage1.Recipients.EMailAddresses:= '45678@qq.com';  //收件人的地址
  IdMessage1.CCList.EMailAddresses:='7894@126.com';//抄送
  IdMessage1.BccList.EmailAddresses:='aaaabbb@gmail.com'; //密送
  IdMessage1.Priority:=mpHighest; //邮件重要性
  try
    idSMTP1.Authenticate;
    idSMTP1.Send(IdMessage1);
    Showmessage('发送成功!');
  except
    Showmessage('邮件发送失败!');
  end;
end;
posted on 2012-10-29 10:49  唐朝t  阅读(3607)  评论(0编辑  收藏  举报