Guten Tag Delphianer,
ich benutze zum Senden von E-Mails den folgenden Code:
Delphi-Quellcode:
Screen.Cursor := crHourGlass;
pMailBetreff := '';
IDAttachmentList := TStringList.Create;
IDAttachmentList.Clear;
idmsgSendeMail.Clear;
// ---------------------------------
idmsgSendeMail.MessageParts.Clear;
idmsgSendeMail.Date := Now;
idmsgSendeMail.ContentType := 'text/plain; CharSet = UTF-8';
idmsgSendeMail.ContentTransferEncoding := '8bit';
idmsgSendeMail.From.Text := VonEMailAdresse;
idmsgSendeMail.Sender.Text := VonEMailAdresse;
if lstAttachments.Count > 0 then
begin
IDAttachmentList.CommaText := lstAttachments.Items.Text;
for i := 0 to IDAttachmentList.Count - 1 do
begin
idmsgSendeMail.IsEncoded := True;
IDAttachment := TIdAttachmentFile.Create(idmsgSendeMail.MessageParts,
IDAttachmentList.Strings[i]);
IDAttachment.FileName := ExtractFileName(IDAttachmentList.Strings[i]);
IDAttachment.ContentType := 'application/octet-stream';
IDAttachment.OpenLoadStream;
IDAttachment.CloseLoadStream;
end;
end;
IDAttachmentList.Free;
for pAdressen := 1 to advstrngrdEMail.RowCount - 1 do
begin
pMailAdresse := '';
advstrngrdEMail.SelectedRow[pAdressen];
pMailAdresse := advstrngrdEMail.Cells[2, pAdressen];
if pMailAdresse <> '' then
begin
idmsgSendeMail.Recipients.EMailAddresses := pMailAdresse;
idmsgSendeMail.Subject := edtMailBetreff.Text;
idmsgSendeMail.Body.Append(redtMailBody.Text);
// Mail senden
idsmtp1.Send(idmsgSendeMail);
end;
end;
Nun werden aber die Bodytexte bei den anderen Empfängern wiederholt.
D. H. wenn ich an 3 E-Mailempfängern die gleiche E-Mail sende, wird
der Body Text bei den anderen Empfängern mehrmals übermittelt!
Sind Anlagen vorhanden kann es passieren, das einem die Anhänge vollzählig sind
aber bei dem anderen Empfänger gar nicht übermittelt werden.
Als Anhänge kommen PNG, PDF oder sonstiges in Frage. Also dsa Übliche.
Beim Testen (mit F9) wird keine Fehlermeldung ausgegeben.
Ich finde diesen Fehler nicht!
Mit Gruß HPB