我发送一个带有附件邮件,点一下发送按钮可以发送成功,然后我将附件内容所指的路径清空,再发送,但是收到的邮件中还包含该附件.程序代码如下: smtp1.AuthenticationType:=atlogin; smtp1.Username:=trim(edit5.Text); smtp1.Password:=trim(edit6.Text); smtp1.Host:=trim(edit4.Text); smtp1.Port:=25;IdMessage1.Body.Clear; IdMessage1.Body.Assign(memo1.Lines); IdMessage1.From.Address:=trim(edit3.Text); IdMessage1.Recipients.EMailAddresses:=trim(edit1.Text); IdMessage1.Subject:=trim(edit2.Text); if FileExists(edit7.Text) then TIdAttachment.Create(IdMessage1.MessageParts,edit7.Text);try try smtp1.Connect(); smtp1.Send(IdMessage1); except on E:Exception do edit8.Text:='Error: '+E.Message; end; finally if smtp1.Connected then smtp1.Disconnect; end;
smtp1.AuthenticationType:=atlogin;
smtp1.Username:=trim(edit5.Text);
smtp1.Password:=trim(edit6.Text);
smtp1.Host:=trim(edit4.Text);
smtp1.Port:=25;IdMessage1.Body.Clear;
IdMessage1.Body.Assign(memo1.Lines);
IdMessage1.From.Address:=trim(edit3.Text);
IdMessage1.Recipients.EMailAddresses:=trim(edit1.Text);
IdMessage1.Subject:=trim(edit2.Text);
if FileExists(edit7.Text) then
TIdAttachment.Create(IdMessage1.MessageParts,edit7.Text);try
try
smtp1.Connect();
smtp1.Send(IdMessage1);
except on E:Exception do
edit8.Text:='Error: '+E.Message;
end;
finally
if smtp1.Connected then
smtp1.Disconnect;
end;
IdMessage1.MessageParts.Clear;
//删除某一个
IdMessage1.MessageParts.Delete(1);
smtp1.Username:=trim(edit5.Text);
smtp1.Password:=trim(edit6.Text);
smtp1.Host:=trim(edit4.Text);
smtp1.Port:=25;IdMessage1.Body.Clear;
IdMessage1.MessageParts.Clear; // 我新加的
IdMessage1.Body.Assign(memo1.Lines);
IdMessage1.From.Address:=trim(edit3.Text);
IdMessage1.Recipients.EMailAddresses:=trim(edit1.Text);
IdMessage1.Subject:=trim(edit2.Text);
if FileExists(edit7.Text) then begin
TIdAttachment.Create(IdMessage1.MessageParts,edit7.Text);
end;try
try
smtp1.Connect();
smtp1.Send(IdMessage1);
except on E:Exception do
edit8.Text:='Error: '+E.Message;
end;
finally
edit7.Text:='';
if smtp1.Connected then
smtp1.Disconnect;
showmessage('发送成功'); end;
edit8.Text:='邮件发送成功!';
IdMessage1.MessageParts.Clear;