该功能网上一大批,就不说了。
其中一点就是在测试时,出现好多问题。因为不明白原因,导致一头雾水,花费不少时间。实际上归结一条:
你的网上邮箱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;