unit smtp;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdMessageClient, IdSMTP, IdMessage, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
btn1: TButton;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
IdSMTP1: TIdSMTP;
IdMessage1: TIdMessage;
memo1: TMemo;
btn2: TButton;
Edit8: TEdit;
Edit7: TEdit;
tmr1: TTimer;
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i: Integer;
n: integer;
implementation
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
begin
tmr1.Enabled:=True;//启动定时器
try
IdSMTP1.AuthenticationType:=atLogin; //设置登陆类型
IdSMTP1.Username:=Edit1.Text; //设置登陆帐号
IdSMTP1.Password:=Edit2.Text; //设置登陆密码
IdSMTP1.Host:=Edit3.Text; //设置SMTP地址
IdSMTP1.Port:=strtoint(Edit4.Text); //设置端口 必须转化为整型
IdSMTP1.Connect; //开始连接服务器
except
Showmessage('连接失败,请重试!');
Exit; //连接失败 的话 退出该执行过程
end;
IdMessage1.Body.Clear; //先清空上次发送的内容
IdMessage1.Subject:=Edit5.Text; //设置邮件发送的标题
IdMessage1.Body.Assign(Memo1.Lines); //设置邮件发送的主体
IdMessage1.From.Address:=Edit6.Text; //设置邮件的发件人 也就是说该邮件来自什么地方
IdMessage1.Recipients.EMailAddresses:=Edit7.Text; //收件人的地址
try
idSMTP1.Send(IdMessage1);
Showmessage('邮件发送成功!');
except
Showmessage('邮件发送失败!');
end;
end;
procedure TForm1.btn2Click(Sender: TObject);
begin
try
n:=strtoint(Edit8.Text);
for i:=1 to n do
begin
idSMTP1.Send(IdMessage1);
end;
Showmessage('邮件发送成功!');
except
Showmessage('邮件发送失败!');
end;
end;
end.
delphi邮件定时发送
最新推荐文章于 2021-06-16 19:21:51 发布