L
LearningOct
Unregistered / Unconfirmed
GUEST, unregistred user!
我用下面的代码发送带附件的HTML邮件,邮件可以正常发送,HTML邮件和所带附件也可以在邮件服务器端正常接收,但是现在遇到一个问题:就是上次所发送的附件,在我下一次继续发送的时候,会同第二次的附件一起发送。
比如我第一次只发送了A这个附件,然后我重新接着开始第二次发送,这次只发送B这个附件,但是对方邮件服务器却可以同时接收到A和B这两个附件,可是我第二次并没有发送A这个附件。但是如果我发送一次后,然后关闭程序,再重新启动程序,再发送就不会出现这种情况。请各位大侠帮忙看下是怎么回事哈!!
代码:
。。。。。。。。。。//一些设置,这里就没有列出来了
sl:=TStringList.Create;
sl.Add(KSEditX1.DocumentHTML);
IdMessage1.Body.Assign(sl);
with TIdText.Create(IdMessage1.MessageParts, sl) do//发送HTML文件
begin
ContentType := 'text/html';
end;
//发送附件
TIdAttachmentFile.Create(IdMessage1.MessageParts, '附件路径');
IdMessage1.ContentType := 'multipart/related';
sl.free;
//发送邮件
try
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
ShowMessage('Send Complete!');
finally
IdSMTP1.Disconnect;
end;
比如我第一次只发送了A这个附件,然后我重新接着开始第二次发送,这次只发送B这个附件,但是对方邮件服务器却可以同时接收到A和B这两个附件,可是我第二次并没有发送A这个附件。但是如果我发送一次后,然后关闭程序,再重新启动程序,再发送就不会出现这种情况。请各位大侠帮忙看下是怎么回事哈!!
代码:
。。。。。。。。。。//一些设置,这里就没有列出来了
sl:=TStringList.Create;
sl.Add(KSEditX1.DocumentHTML);
IdMessage1.Body.Assign(sl);
with TIdText.Create(IdMessage1.MessageParts, sl) do//发送HTML文件
begin
ContentType := 'text/html';
end;
//发送附件
TIdAttachmentFile.Create(IdMessage1.MessageParts, '附件路径');
IdMessage1.ContentType := 'multipart/related';
sl.free;
//发送邮件
try
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
ShowMessage('Send Complete!');
finally
IdSMTP1.Disconnect;
end;