2017-05-22 2 views
0

Je construis une application à des fins de journalisation, si je vais mettre tous les messages dans un e-mail et l'enverra à une boîte aux lettres de journalisation. Ce que je veux, c'est afficher les adresses e-mail de tous les destinataires des messages originaux dans le champ, mais ne leur envoyer aucun courrier. Par exemple, si un message a été envoyé à "[email protected]" puis sur la journalisation, je veux afficher "[email protected]" dans le champ de la journalisation du courrier, mais pas réellement envoyer ce courrier à "[email protected]" I suis le codage de cette application en C#, y at-il un moyen d'y parvenir?Comment ajouter plusieurs destinataires de courrier électronique dans un courrier, mais envoyer le courrier à seulement quelques adresses sélectionnées?

+0

Vous pourriez être en mesure d'éditer le courrier après l'envoi pour ajouter des adresses à "To" - havent essayé, mais cela semble être une mauvaise idée. – BugFinder

Répondre

0

Voici un exemple de commandes SMTP (de Wikipedia) qui sont utilisés lors de l'envoi d'un mail:

HELO relay.example.org 
MAIL FROM:<[email protected]> 
RCPT TO:<[email protected]> 
RCPT TO:<[email protected]> 
DATA 
From: "Bob Example" <[email protected]> 
To: Alice Example <[email protected]>, John Example <[email protected]>, Jane Example <[email protected]> 
Cc: [email protected] 
Date: Tue, 15 January 2008 16:02:43 -0500 
Subject: Test message 

My Test message. 
. 
QUIT 

Les vrais destinataires de cet e-mail sont spécifiés par la commande RCPT TO. Ensuite, dans la commande DATA, qui contient le contenu de votre courrier et des en-têtes tels que From, To, Subject, ... Vous pouvez spécifier ce que vous voulez dans les en-têtes (y compris From et To).

Vous placez tous les destinataires d'origine dans l'en-tête To. Et vous ajoutez uniquement votre boîte aux lettres de journalisation avec la commande RCPT TO. Cela enverra le courrier uniquement à votre boîte aux lettres de journalisation, mais tous les destinataires seront affichés dans l'en-tête To du courrier lorsque vous l'ouvrez.

+0

Comment puis-je obtenir ceci en C#? –

+0

Vous devez implémenter votre propre client SMTP car celui fourni avec le framework ne permet pas de personnaliser l'en-tête 'To'. Je l'ai fait dans mon travail précédent, ce n'est pas si difficile. –

+0

Je pense que mon problème sera résolu en implémentant un protocole smtp personnalisé uniquement. Merci pour le conseil –