AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

E-Mail werden wiederholt

Ein Thema von HPB · begonnen am 4. Mär 2016 · letzter Beitrag vom 5. Mär 2016
Antwort Antwort
HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#1

E-Mail werden wiederholt

  Alt 4. Mär 2016, 17:17
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
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: E-Mail werden wiederholt

  Alt 4. Mär 2016, 19:56
Du fügst den Body-Text für jeden Empfänger immer wieder an:
idmsgSendeMail.Body.Append(redtMailBody.Text); .

Den alten Body-Text solltest du evtl. vorher entfernen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: E-Mail werden wiederholt

  Alt 4. Mär 2016, 20:00
Ich würde das Versenden von Emails etwas anders organisieren (s. http://www.delphipraxis.net/1318435-post12.html)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#4

AW: E-Mail werden wiederholt

  Alt 5. Mär 2016, 09:53
Vielen Dank für Deine Hilfe Sir Rufo.
Habe ich total übersehen das ich in der Schleife den Bodytext immer wiederhole.
Muss wohl schon Nacht gewesen ein.
Nur eines ist jetzt aufgetreten:
Wenn ich E-Mails ohne Anhang versende kommen die E-Mails bei den Empfängern korrekt an.
Wenn ich jedoch die Mails mit Anhängen versende dann wird nur noch Müll empfangen.
D. H. ich habe ein E-Mail mit 2 unterschiedlichen Anhängen (PDF und JPG) an 2 Empfängern gesendet:
1. Empfänger erhält die E-Mail so:
This is a multi-part message in MIME format

--o6ezEqcjy=_f7a9CbRRAEki8y8XlEADQiL
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Dies ist ein Test mit 2 Anh=C3=A4ngen

--o6ezEqcjy=_f7a9CbRRAEki8y8XlEADQiL
Content-Type: application/octet-stream;
name="Bijou-ZGR-1.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Bijou-ZGR-1.png"

iVBORw0KGgoAAAANSUhEUgAAAfQAAAJ0CAYAAADkjtHPAAAAGX RFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bX AAAAAAADw/eHBhY2tldCBiZWdp
bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4On htcG1ldGEgeG1sbnM6
eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUC BDb3JlIDUuMy1jMDExIDY2LjE0
NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPH JkZjpSREYgeG1sbnM6cmRmPSJo
...


Der 2. E-Mail Empfänger so:
Dies ist ein Test mit 2 Anhängen

--AuyImXR2k6v0uiqwNvBTArZ8Gx6k=_fZLW
Content-Type: application/octet-stream;
name="Bijou-ZGR-1.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Bijou-ZGR-1.png"

iVBORw0KGgoAAAANSUhEUgAAAfQAAAJ0CAYAAADkjtHPAAAAGX RFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bX AAAAAAADw/eHBhY2tldCBiZWdp
bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4On htcG1ldGEgeG1sbnM6
...

Beachtenswert ich auch das bei der zweiten E-Mail, die Anrede korrekt geschrieben wurde.
Dies ist mir alles ein kleines Rätsel.
Was ist den noch an dem Quellcode falsch?
Mit Gruß HPB
  Mit Zitat antworten Zitat
HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#5

AW: E-Mail werden wiederholt

  Alt 5. Mär 2016, 15:41
Guten Tag Delphianer,
nach dem Einfügen von:
idmsgSendeMail.ContentType := 'multipart/mixed; CharSet = UTF-8'; ist es nun gelungen. Ich habe 2 E-Mails mit unterschiedlichen Anhängen versandt und beide
sind fehlerfrei angekommen.
Mit Gruß HPB
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz