2012-05-30 7 views
16

Beim Senden einer E-Mail wird die Empfängerliste während des SMTP-Dialogs über den Befehl RCTP TO: angegeben. Später werden im DATA-Befehl Header-Felder wie 'To', 'Cc', 'bcc' angezeigt. Muss diese RCPT TO-Liste der Empfänger mit den im DATA-Befehl angegebenen Headern übereinstimmen?In SMTP muss der RCPT TO: und TO: übereinstimmen?

Wenn der Empfänger nicht in RCPT TO, sondern im Feld An des E-Mail-Headers angegeben ist, wird er dann an den Empfänger gesendet, nicht in RCPT TO?

Antwort

5

SMTP-Protokoll (RFC 2821) besagt Folgendes:

Wenn RFC 822-Format [7, 32] verwendet wird, die Mail-Daten umfassen die
Memo-Header Elemente wie Datum, Betreff, An, Cc, aus. Server SMTP
SYSTEME SOLLTEN keine Nachrichten basierend auf wahrgenommenen Fehlern im
RFC 822 oder MIME [12] Nachrichtenkopf oder Nachrichtentext ablehnen.

Und:

Der DATA-Befehl an nur zwei Punkten in dem Protokoll Austausch fehlschlagen kann:

  • Wenn es keine MAIL war oder nicht RCPT, einen Befehl oder alle Solche Befehle wurden zurückgewiesen, der Server kann einen "Befehl außerhalb der Sequenz" (503) oder "keine gültigen Empfänger" (554) als Antwort auf den Befehl DATA zurückgeben. Wenn eine dieser Antworten (oder eine andere 5yz-Antwort) empfangen wird, MUSS der Client die Nachrichtendaten NICHT senden; mehr im Allgemeinen, Nachricht Daten müssen nicht gesendet werden, es sei denn, eine 354 Antwort ist erhalten.

Aus diesen Aussagen, die Header und RCPT TO: Befehlsinhalt übereinstimmen muss nicht (altough sie übereinstimmen sollte), und mit RCPT nicht TO: MAY zu einem Fehler mit DATA-Befehl zu verhindern fortfahren.

+4

und was ist mit einem Fall, wenn RCPT und To: nicht übereinstimmen. Wer ist in diesem Fall der eigentliche Empfänger? – Jelena

+0

@Jelena, ich glaube, es ist das RCPT, das zählt und das 'To:' kann Zufallsdaten sein. – Pacerier

13

Nein, sie müssen nicht übereinstimmen. Wenn die Nachricht gesendet wird, wird der SMTP-Server (auch bekannt als Message Transfer Agent oder MTA) einen so genannten SMTP-Umschlag zu schaffen, die die Empfänger und den Absender der Nachricht enthält (siehe RFC5321):

SMTP ein transportiert Mail-Objekt. Ein Mail-Objekt enthält einen Umschlag und Inhalt. Der SMTP-Umschlag wird als eine Reihe von SMTP-Protokoll Einheiten gesendet (in Abschnitt 3 beschrieben). Es besteht aus einer Absenderadresse (an die Fehlerberichte gerichtet werden sollen), einer oder mehreren Empfängeradressen und optionalem Protokollerweiterungsmaterial.

Es ist eigentlich ziemlich oft, dass die RCPT TO: Befehl mehr Empfänger hat, dass der Header der Nachricht - ein häufiger Fall ist die Verwendung von „Blindkopien“ Bcc: (siehe RFC5321):

Adressen, die nicht in der Nachrichtenkopfzeile angezeigt werden, können in den RCPT-Befehlen an einen SMTP-Server aus einer Reihe von Gründen angezeigt werden.Die am häufigsten verwendeten beinhalten die Verwendung einer Postanschrift als "Liste Exploder" (eine einzelne Adresse, die in mehrere Adressen auflöst) und das Auftreten von "Blindkopien".

6

Enthält diese RCPT TO Liste des Empfängers hat mit den Headern angegeben in DATA-Befehl übereinstimmen?

Nein.

, wenn der Empfänger nicht in RCPT TO angegeben, aber im Header Bereich der E-Mail, wird sie an den Empfänger nicht in RCPT TO geliefert werden?

Die RCPT. Hier ist eine (modifizierte) Transkript von meinem eigenen SMTP-Client, wo ich genau das, was Sie fragen:

CLIENT: MAIL FROM:<[email protected]> 
SERVER: 250 2.1.0 OK 
CLIENT: RCPT TO:<[email protected]> 
SERVER: 250 2.1.5 OK 
CLIENT: DATA 
SERVER: 354 Go ahead 
CLIENT: Subject: Test email 
CLIENT: From:'John Doe'<[email protected]> 
CLIENT: To:'John Doe'<[email protected]om> 
CLIENT: This is a test... 
CLIENT: . 

Die Nachricht wurde erfolgreich gesendet „[email protected]“.

+0

BTW, die IMF-Felder (An, Von) können in Ihrem E-Mail-Client angezeigt werden, sodass er scheinbar von der falschen Adresse kommt und/oder an die falsche Adresse gesendet wird. –