USEGEAR

导航

实现发送邮件的功能

该功能网上一大批,就不说了。

其中一点就是在测试时,出现好多问题。因为不明白原因,导致一头雾水,花费不少时间。实际上归结一条:

你的网上邮箱pop3和smtp是否开通。没有开通时出现的形形式式的错误提示会一头雾水。现在一般邮箱要你自己手动开通。只有开通后才能测试成功。

 1  begin
 2    IdSMTP1 := TIdSMTP.Create(nil);
 3    IdMessage1 := TIdMessage.Create(nil);
 4    try
 5      IdSMTP1.AuthType:= atDefault; //设置登陆类型
 6      IdSMTP1.Username:='username'; //设置登陆帐号
 7      IdSMTP1.Password:='password'; //设置登陆密码
 8      IdSMTP1.Host:='smtp.yeah.net'; //设置SMTP地址
 9      IdSMTP1.Port:=25; //设置端口   必须转化为整型
10      IdSMTP1.Authenticate;
11      IdSMTP1.Connect;   //开始连接服务器
12    except
13     // Showmessage('连接失败,请重试!');
14      Exit; //连接失败 的话 退出该执行过程
15    end;
16    IdMessage1.Body.Clear;   //先清空上次发送的内容
17    with IdMessage1 do
18      begin
19       Subject := '这是邮件标题';   //设置邮件发送的标题
20       Body.Text := '这是最新的邮件'; //设置邮件发送的主体
21       From.Address :='yourname@yeah.net'; //设置邮件的发件人
22       ReplyTo.EMailAddresses :='yourname@yeah.net';  //回复地址
23       Recipients.EMailAddresses := 'yourname@yeah.net';   //收件人的地址
24       CharSet := 'UTF-8';
25      end;
26    try
27      idSMTP1.Send(IdMessage1);
28     // Showmessage('邮件发送成功!');
29    finally
30      IdSMTP1.Disconnect;
31      IdSMTP1.FreeOnRelease;
32      IdMessage1.FreeOnRelease;
33      //Showmessage('邮件发送失败!');
34    end;
35 end;

 

posted on 2014-11-27 19:05  USEGEAR  阅读(657)  评论(0编辑  收藏  举报