Bitte mal nicht Envelope und Header verwechseln!
Der sog. "Envelope" einer Mail ist das, was die Mailserver tatsächlich an Empfängerdaten miteinander austauschen, z.B. über SMTP oder früher über UUCP.
Im den RCPT TO:-Befehlen des mailprogramms an den Outgoing Mailserver stehen
immer alle Empfänger drin, auch die, die im Bcc-Header der Mail stehen. Dieser Envelope wird vom enpfangenden Server aber weggeworfen und enthält dann sowieso nicht mehr alle Adressen (siehe unten); der empfangende User kann also nur das sehen, was in den Mailheadern steht.
Ein Beispiel: Eine Mail wird mit (u.a.) folgenden Headerzeilen verschickt:
To:
[email protected]
Bcc:
[email protected],[email protected]
Das Mailprogramm baut eine SMTP-Verbindung mit seinem Outgoing Mailserver auf. Bevor es die Mail dort abgibt, löscht es den Bcc-Header aus der Mail; das soll ja kein Empfänger lesen können. Im RCPT TO: des SMTP-Protokolls gibt es alle drei Adressen an.
Dem Mailserver ist völlig egal, was im eigentlichen Mail-Header steht. Da dürfte sogar im To: eine Adresse stehen, die im RCPT TO: überhaupt nicht vorkommt. Ratet mal, wie es funktioniert, dass Ihr manchmal Spam Mails bekommt, die laut To:-Headerzeile gar nicht Euch adressiert sind? Genau so.
Der Mailserver schaut sich also nur die Adressen im RCPT TO: an. Nun baut er drei verschiedene Verbindungen auf, nämlich zu den Mailservern von b.com, d.com und f.com. Jeder von denen bekommt nur die für ihn bestimmte Adresse im RCPT TO: geliefert; andere Adressen würde er üblicherweise auch nicht annehmen, wenn die Verbindung nicht aus seinem eigenen Netz stammt oder ein Username/Passwort angegeben wurde. (Sonst wäre er ein "offener SMTP Relay" und würde blitzschnell auf diversen Spamschutz-Listen landen.)
Die eigentlichen Headerzeilen To:, Cc: und Bcc: sind nur bei Programmen von Bedeutung, die Mails als Textdatei entgegennehmen und dann verschicken; unter Unix/Linux etwa mail oder sendmail. Sobald ein Protokoll wie SMTP oder UUCP ins Spiel kommt, zählt nur noch der Envelope, also die Emfpänger, die über das Protokoll definiert werden.
Fazit: Es ist
nicht nötig, dass in der To:-Zeile des Mail Headers irgendetwas steht. Das ist eine willkürliche Einschränkung des Mailprogramms auf dem iPhone. Deshalb ist es auch mit Desktop-Programmen problemlos möglich, Mails ohne To:-Angabe zu verschicken. Die meisten Mailserver setzen in diesem Fall eine To:-Zeile mit den Inhalt "undisclosed recipients" oder ähnliches ein, weil es Mailprogramme gibt, die sich verschlucken, wenn keine To:-Zeile im Mailheader vorkommt.
Nötig ist sie aber nicht.
Viele Grüße,
Christian