Dans le SMTP, le RCPT doit-il correspondre à: et à:?

lors de l'envoi d'un e-mail, la liste des destinataires est donnée lors du dialogue SMTP via la commande RCTP à:: command. Plus tard, dans la commande DATA, les champs d'en-tête comme 'To', 'Cc','bcc' sont indiqués. Est-ce que ce RCPT pour la liste des destinataires doit correspondre avec les en-têtes indiqués dans la commande de données?

aussi, si le destinataire n'est pas indiqué dans RCPT TO, mais dans le champ D'en-tête To, sera-t-il livré au destinataire qui n'est pas dans RCPT TO ?

17
demandé sur Falko 2012-05-30 22:34:41

3 réponses

non, ils n'ont pas à correspondre. Lorsque le message est envoyé, le serveur SMTP (alias Message Transfer Agent ou MTA) crée une enveloppe appelée SMTP qui contient les destinataires et l'expéditeur du message (Voir RFC5321):

SMTP transporte un objet mail. Un objet mail contient une enveloppe et du contenu. L'enveloppe SMTP est envoyée sous forme de protocole SMTP unités (décrites à la Section 3). Il se compose d'un créateur adresse (vers laquelle les rapports d'erreur doivent être dirigés), une ou plusieurs adresses des destinataires et documents additionnels sur le Protocole facultatif.

c'est, en fait, assez souvent que la commande RCPT TO: a plus de destinataires que l'en - tête du message-un cas courant est l'usage de "copies aveugles" bcc: (voir RFC5321):

les adresses qui n'apparaissent pas dans la section en-tête du message peuvent apparaître dans les commandes RCPT à un SMTP serveur pour un certain nombre de raisons. Le les deux plus courantes impliquent l'utilisation d'une adresse postale en tant que "liste détonateur" (une adresse unique qui résout plusieurs adresses) et l'apparition de"copies à l'aveugle".

14
répondu silentser 2012-06-15 15:21:57

est-ce que ce RCPT pour la liste des récipiendaires doit correspondre avec les en-têtes indiqué dans la commande de données?

Non.

si le bénéficiaire n'est pas indiqué dans RCPT TO, mais dans le champ To de en-tête du courriel, sera-t-il livré au destinataire non en RCPT ?

Le RCPT. Voici une transcription (modifiée) de mon propre client SMTP où je fais exactement ce que vous demandez:

CLIENT: MAIL FROM:<myaccount@gmail.com>
SERVER: 250 2.1.0 OK 
CLIENT: RCPT TO:<myaccount@gmail.com>
SERVER: 250 2.1.5 OK 
CLIENT: DATA
SERVER: 354  Go ahead 
CLIENT: Subject: Test email
CLIENT: From:'John Doe'<fakeaccount@gmail.com>
CLIENT: To:'John Doe'<fakeaccount@gmail.com>
CLIENT: This is a test...
CLIENT: .

le message était envoyé avec succès à "myaccount@gmail.com".

7
répondu james.garriss 2012-10-23 15:06:38

protocole SMTP ( RFC 2821) indique ce qui suit:

lorsque le format RFC 822 [7, 32] est utilisé, les données de courrier comprennent le

les éléments d'en-tête de mémo tels que Date, Subject, To, Cc, From. Serveur SMTP

les systèmes ne devraient pas rejeter les messages fondés sur des défauts perçus dans la

RFC 822 ou MIME [12] en-tête ou corps du message.

Et ça:

la commande DATA peut échouer à seulement deux points du protocole Echange:

  • S'il n'y avait pas de poste, ou pas de RCPT, commande, ou toutes ces commandes ont été rejetés, le serveur peut renvoyer une commande " out of sequence" (503) ou "pas de destinataires valables" (554) réponse aux données commande. Si l'une de ces réponses (ou toute autre réponse 5yz) est reçu, le client ne doit pas envoyer les données du message; plus en général, les données de message ne doivent pas être envoyées à moins qu'une réponse 354 soit reçu.

à partir de ces instructions, les en-têtes et RCPT TO: command content n'ont pas à correspondre (bien qu'ils doivent correspondre), et ne pas utiliser RCPT TO: peut entraîner une erreur pour empêcher de procéder avec la commande DATA.

5
répondu Hakan Serce 2012-05-30 18:46:32