Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   SMTP und CC/BCC? (https://www.delphipraxis.net/92382-smtp-und-cc-bcc.html)

alcaeus 18. Mai 2007 23:33


SMTP und CC/BCC?
 
Hallo ihr,

ich schreibe momentan an einer Klasse zum Versenden von Mails ueber SMTP. Nun habe ich aber das Problem, dass ich auch Mail-Adressen im CC und BCC hab. Das SMTP-Protokoll kennt aber nur den RCPT TO-Befehl, ohne dass es eine Unterscheidung zwischen To, CC und BCC gibt. Weiss jemand evtl., wie ich das realisiere?

Greetz
alcaeus

CalganX 18. Mai 2007 23:45

Re: SMTP und CC/BCC?
 
Hi,
wenn du Sendmail verwendest kannst du bei Mail() über den additional_headers-Parameter noch CC und BCC angeben. Siehe Beispiele.

Chris

alcaeus 18. Mai 2007 23:49

Re: SMTP und CC/BCC?
 
Moin,

mail() wird nicht verwendet, weil ich nicht davon ausgehen kann dass sendmail verwendet wird. Die Klasse implementiert die Kommunikation mit dem SMTP-Server gemaess RFC 2821, allerdings habe ich darin nichts zu CC und BCC gefunden.

Greetz
alcaeus

CalganX 18. Mai 2007 23:58

Re: SMTP und CC/BCC?
 
Hi Andreas,
naja, laut RFC 2821 musst du über die Header BCC und CC genauso angeben, wie TO. Such einfach mal mit der normalen Firefox-/IE-Suche nach "BCC". ;)

Chris

alcaeus 19. Mai 2007 00:01

Re: SMTP und CC/BCC?
 
Hab ich...irgendwie kommt mir das aber kontraproduktiv vor. Wie soll der SMTP-Server zwischen TO, CC und BCC unterscheiden koennen? Und warum kommen Mails die ich z.B. mit Outlook so sende wieder an, wie man es erwartet, also mit haufenweise Adressen im BCC? :gruebel:

Greetz
alcaeus

SirTwist 19. Mai 2007 09:29

Re: SMTP und CC/BCC?
 
Hi,

Du musst unterscheiden zwischen Envelope- und Header-Adressen.

Envelope-Adressen sind diejenigen, die Du im SMTP-Dialog mit "RCPT TO:" angibst. Dort musst Du alle Adressen angeben, an die die Mail verschickt werden soll, also auch CC und BCC-Adressen.

Die Header-Adressen stehen in der eigentlichen Mail, nämlich im oberen Abschnitt, den Headern. Dort sollte der eigentliche Empfänger, oder die eigentlichen Empfänger immer mit To: aufgeführt sein, danach die "Cc:"-Empfänger. Die Bcc-Empfänger trägst Du hier nicht ein.

Code:
HELO mailgate
200 OK
MAIL FROM: me(at)you.de
200 OK
RCPT TO: you(at)me.de
200 OK
RCPT TO: schwaller(at)sülz.de
200 OK
DATA
To: you(at)me.de
From: me(at)you.de
CC: schwaller(at)sülz.de
Subject: Test

Hallo Du,

Gruß von mir
.
200 OK
Wichtig ist die Leerzeile zwischen Headern und dem eigentlichen Mailbody in dem Mailtext. Das Ganze hab ich jetzt nur aus dem Gedächtnis runtergetippt, könnten also Fehler drin sein. Aber vom Verständnis her sollte es vielleicht etwas klarer werden.

Das Sendmail kümmert sich nicht um die Header-Adressen, der entscheidet nur anhand der Envelope-Adressen. Erst Dein Mailprogramm wertet die Header-Adressen aus, denn an der Stelle gibt es keine Envelope-Adressen mehr.

alcaeus 19. Mai 2007 14:38

Re: SMTP und CC/BCC?
 
Danke, das war der entscheidende Tipp den ich benoetigt habe. So funktionierts auch wie ich will :)

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 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