首页 > 代码库 > 实现发送邮件的功能

实现发送邮件的功能

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

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

你的网上邮箱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    except13     // Showmessage(‘连接失败,请重试!‘);14      Exit; //连接失败 的话 退出该执行过程15    end;16    IdMessage1.Body.Clear;   //先清空上次发送的内容17    with IdMessage1 do18      begin19       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    try27      idSMTP1.Send(IdMessage1);28     // Showmessage(‘邮件发送成功!‘);29    finally30      IdSMTP1.Disconnect;31      IdSMTP1.FreeOnRelease;32      IdMessage1.FreeOnRelease;33      //Showmessage(‘邮件发送失败!‘);34    end;
35 end;

 

实现发送邮件的功能