unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdMessage, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase,
IdSMTP;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
Memo1: TMemo;
IdSMTP1: TIdSMTP;
IdMessage1: TIdMessage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if trim(edit1.Text)<>'' then
begin
//建立连接
idSMTP1.Username:='号码1@qq.com'; //服务器上的用户名
idSMTP1.Password:='号码1的密码'; //服务器上的密码
idSMTP1.Host:='smtp.qq.com'; //服务器SMTP地址
idSMTP1.Port:=25; //服务器端口
try
idSMTP1.Connect; //建立连接
except
Showmessage('连接SMTP服务器失败!');
Exit;
end;
//发邮件
try
idMessage1.Body.Clear;
idMessage1.Body.assign(memo1.Lines); //邮件正文件内容
idMessage1.From.Address:=号码1'; //发件人地址
idMessage1.Recipients.EMailAddresses:=edit1.Text;//收件人地址
idMessage1.Subject:='Email From Zaitian'; //邮件标题
idMessage1.Priority:=mpHigh; //优先级,mphigh为最高级。
idSMTP1.Send(idMessage1);
finally
showmessage('您的信件已成功发送');
idSMTP1.Disconnect;
end;
end;
end;
end.
有一个遗憾,在D2009下编译运行,如果邮件的主题为汉字的话,那么发出去的邮件的主题将会是乱码,不知道怎么才会不是乱码,可能是D2009的一个BUG吧,如果哪位仁兄知道,请告知,谢谢