Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Mit ICS (TSmtpCli) mehrere Mails direkt nacheinander verschicken

  Alt 8. Dez 2011, 20:42
Schau dir doch mal an, wie die das mit dem Versenden machen:
Delphi-Quellcode:
function SendToEx(const MailFrom, MailTo, Subject, SMTPHost: string;
  const MailData: TStrings; const Username, Password: string): Boolean;
var
  t: TStrings;
begin
  t := TStringList.Create;
  try
    t.Assign(MailData);

    // Header

    t.Insert(0, '');
    t.Insert(0, 'X-mailer: Synapse - Delphi & Kylix TCP/IP library by Lukas Gebauer');
    t.Insert(0, 'Subject: ' + Subject);
    t.Insert(0, 'Date: ' + Rfc822DateTime(now));
    t.Insert(0, 'To: ' + MailTo);
    t.Insert(0, 'From: ' + MailFrom);

    // Mail-Versand

    Result := SendToRaw(MailFrom, MailTo, SMTPHost, t, Username, Password);

  finally
    t.Free;
  end;
end;
Jetzt mal eine procedure mit CC und BCC

Delphi-Quellcode:
function SendToExtended(const MailFrom, MailTo, MailCC, MailBCC, Subject, SMTPHost: string;
  const MailData: TStrings; const Username, Password: string): Boolean;
var
  t: TStrings;
  Receiver : string;
begin
  t := TStringList.Create;
  try
    t.Assign(MailData);

    // Header

    t.Insert(0, '');
    t.Insert(0, 'X-mailer: Synapse - Delphi & Kylix TCP/IP library by Lukas Gebauer');
    t.Insert(0, 'Subject: ' + Subject);
    t.Insert(0, 'Date: ' + Rfc822DateTime(now));
    t.Insert(0, 'CC: ' + MailCC);
    t.Insert(0, 'To: ' + MailTo);
    t.Insert(0, 'From: ' + MailFrom);

    // Empfänger zusammenbauen

    Receiver := MailTo;
    if ( Receiver <> '' ) and ( MailCC <> '' ) then
      Receiver := Receiver + ',';
    Receiver := Receiver + MailCC;

    if ( Receiver <> '' ) and ( MailBCC <> '' ) then
      Receiver := Receiver + ',';
    Receiver := Receiver + MailBCC;

    // Mail-Versand

    Result := SendToRaw(MailFrom, Receiver, SMTPHost, t, Username, Password);

  finally
    t.Free;
  end;
end;
Und jetzt rate mal, warum die BCC-Empfänger trotzdem die Mail empfangen, obwohl diese im Mail-Header gar nicht enthalten sind
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