5,388
社区成员
发帖
与我相关
我的任务
分享
unit TccMail;
interface
uses
Forms,Sysutils, Classes,IdSMTP, IdMessage,TccUtils;
Type TTccMail=Class(TObject)
private
FSmtp: TIdSMTP;
FMsg: TIdMessage;
FToList: String;
FSubject: String;
FBodys: TStrings;
procedure SetSubject(const Value: String);
procedure SetToList(const Value: String);
procedure TccMailFailedRecipient(Sender: TObject; const AAddress, ACode, AText: String;
var VContinue: Boolean);
public
constructor Create;
destructor Destroy; override;
property ToList: String read FToList write SetToList;
property Subject: String read FSubject write SetSubject;
property Bodys: TStrings read FBodys;
function Send: boolean;
procedure Clear;
end;
implementation
{ TTccMail }
procedure TTccMail.Clear;
begin
FToList:='';
FSubject:='';
FBodys.Clear;
end;
constructor TTccMail.Create;
begin
FSmtp:=TIdSMTP.Create(nil);
FMsg:=TIdMessage.Create(nil);
FBodys:=TStringList.Create;
end;
destructor TTccMail.Destroy;
begin
FSmtp.Free;
FMsg.Free;
FreeAndNil(FBodys);
inherited;
end;
function TTccMail.Send: boolean;
begin
if FToList='' then raise exception.Create('Empty Recepients');
FSmtp.Host := '********************';
FSmtp.Username := '********';
FSmtp.Password := '********';
FMsg.CharSet := 'GB2312';
FMsg.ContentType := 'text/html';
FMsg.Encoding:=meMIME;
FMsg.From.Name := 'SYSTEM_CN';
FMsg.From.Address := '************';
FMsg.Date:=Now-8/24;
FMsg.Subject := Subject;
FMsg.Body.AddStrings(Bodys);
FMsg.Recipients.EMailAddresses := ToList;
FSmtp.Connect;
FSmtp.Send(FMsg);
FSmtp.Disconnect;
ToList:='';
Subject:='';
Bodys.Clear;
result:=true;
end;
procedure TTccMail.SetSubject(const Value: String);
begin
FSubject := Value;
end;
procedure TTccMail.SetToList(const Value: String);
begin
FToList := Value;
end;
end.
function SendMail(ToList,Subject: String; Bodys: TStrings):boolean;
var
TccMail: TTccMail;
begin
TccMail:=TTccMail.Create;
try
TccMail.ToList := ToList;
TccMail.Subject := Subject;
TccMail.Bodys.AddStrings(Bodys);
Result:=TccMail.Send;
finally
TccMail.Free;
end;
end;
function SendMail(ToList,Subject: AnsiString; Body: AnsiString):boolean;
var
TccMail:TTccMail;
begin
TccMail:=TTccMail.Create;
try
TccMail.ToList := ToList;
TccMail.Subject := Subject;
TccMail.Bodys.Add(Body);
Result:=TccMail.Send;
finally
TccMail.Free;
end;
end;