2017-07-20 1 views
0

Je dois ajouter un en-tête personnalisé à un courrier électronique à l'aide de la classe System.Net.Mail.MailMessage, puis utiliser la classe Microsoft.Exchange.WebServices.Data.EmailMessage dont j'ai besoin de lire cette valeur.Affectation et accès aux en-têtes de messagerie personnalisés dans .NET

Ce que j'essaie de faire exactement est le traitement de rebond pour les emails que nous envoyons. Je génère une nouvelle valeur Guid et l'ajoute aux en-têtes juste avant d'être envoyée. Je stocke cette valeur dans une base de données et je dois la faire correspondre lorsqu'un processus distinct balaye la boîte de réception pour la traiter. Tout cela fonctionne sauf une partie - je ne peux pas obtenir l'ID du message de l'en-tête. Je sais que les messages ont un en-tête Message-ID (qui est automatiquement ajouté) et je peux y accéder, mais ce qui me pose problème, c'est d'obtenir cette valeur quand elle est envoyée en premier lieu. Est-ce que c'est possible? Si oui, je vais utiliser cela au lieu de ma propre valeur.

Je peux obtenir l'adresse électronique et les autres informations pertinentes, mais le système que j'ai écrit utilise l'ID de message que j'affectais comme clé étrangère utilisée dans les jointures dans la base de données.

Des conseils à ce sujet seraient appréciés. Je doute que je sois la seule personne à avoir jamais essayé de le faire.

+0

https://stackoverflow.com/questions/22456187/c-sharp-ews-identification-for-sent-emails-internetmessageid/22482779#22482779 – hellyale

Répondre

0

Désolé tout le monde, l'email avec lequel je testais ne contenait pas l'en-tête, c'est pourquoi il n'a pas pu être trouvé.

J'ai créé un nouvel e-mail avec l'ajout et je pouvais y accéder via la propriété InternetMessageHeaders de l'objet EmailMessage.