用以下的函数发送邮件,出现一个不正常的现象,即我发送两封邮件给对方,但是对方只接收到一封邮件,但是对方收到的这封邮件的内容却包含了我发过去的两封邮件的内容,请问是什么问题?
function sendemail(sDisplayUser,sPasswd,sMailSrvIP,sSrvPort,sAgentMail,sFrom,MailAddress, MailSubject, MailBody: string):Boolean;
var
srv: TIdSMTP;
msg: TIdMessage;
begin
srv := TIdSMTP.Create(nil);
msg := TIdMessage.Create(nil);
with srv do
begin
AuthenticationType := atLogin;
Username := sDisplayUser; //**邮件发送用户名
Password := sPasswd; //**邮件发送用户密码
Host := sMailSrvIP; //**邮件服务器
Port := StrToInt(sSrvPort);
with msg do
begin
Clear;
From.Address := sAgentMail; //**发件人邮件地址
From.Name := sFrom; //**发件人名字
Recipients.EMailAddresses := MailAddress;
Subject := MailSubject;
Body.Add(MailBody);
end;
try
begin
Connect();
Send(msg);
Disconnect;
end;
except
begin
//ShowMessage(Exception(ExceptObject).message);
MessageBox(0,'您可能设定了错误的邮箱,请及时更正!','提示',48+mb_systemmodal);
Disconnect;
Result := False;
//Abort;
Exit;
end;
end;
end;
FreeAndNil(srv);
FreeAndNil(msg);
Result := True;
end;end.
delphi sendmail
function sendemail(sDisplayUser,sPasswd,sMailSrvIP,sSrvPort,sAgentMail,sFrom,MailAddress, MailSubject, MailBody: string):Boolean;
var
srv: TIdSMTP;
msg: TIdMessage;
begin
srv := TIdSMTP.Create(nil);
msg := TIdMessage.Create(nil);
with srv do
begin
AuthenticationType := atLogin;
Username := sDisplayUser; //**邮件发送用户名
Password := sPasswd; //**邮件发送用户密码
Host := sMailSrvIP; //**邮件服务器
Port := StrToInt(sSrvPort);
with msg do
begin
Clear;
From.Address := sAgentMail; //**发件人邮件地址
From.Name := sFrom; //**发件人名字
Recipients.EMailAddresses := MailAddress;
Subject := MailSubject;
Body.Add(MailBody);
end;
try
begin
Connect();
Send(msg);
Disconnect;
end;
except
begin
//ShowMessage(Exception(ExceptObject).message);
MessageBox(0,'您可能设定了错误的邮箱,请及时更正!','提示',48+mb_systemmodal);
Disconnect;
Result := False;
//Abort;
Exit;
end;
end;
end;
FreeAndNil(srv);
FreeAndNil(msg);
Result := True;
end;end.
delphi sendmail
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货