Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: Mit ICS (TSmtpCli) mehrere Mails direkt nacheinander verschicken
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)
|