0

Défi DescriptionOutllook VBA: Get-tête Information de E-mail joint à un courriel

Je voudrais extraire les informations d'en-tête des e-mails dans un dossier Outlook. Cela fonctionne jusqu'à présent. Mais il y a des Emails qui ont été scannés par Spamassassin et trouvés comme étant du SPAM. Ainsi, le courrier indésirable est joint à un nouveau courrier en tant que pièce jointe au courrier.

Maintenant, je voudrais extraire les informations d'en-tête de l'en-tête d'origine.

Ce que j'ai déjà Je reçois les informations d'en-tête du « courrier normal'- et peut accéder à Outlook-mail-élément et trouvé aussi Attachement.

Ce que je cherche La meilleure façon d'obtenir la pièce jointe comme Outlook par correspondance élément afin que je puisse effectuer l'opération getHeader-opération. Et, si possible, sans avoir besoin d'ouvrir le courrier ci-joint.

Existe-t-il un moyen de l'olmailItem à la messagerie jointe (fichier .msg) sans activer la pièce jointe?

(manuellement - avec l'ouverture du courrier - cela peut être fait en ouvrant le courrier ci-joint et regarder les options de message.)

Répondre

1

Outlook ne vous permet pas d'accéder directement à des pièces jointes de messages intégrés. Le mieux que vous puissiez faire est d'appeler le Attachment.SaveAsFile pour enregistrer la pièce jointe jointe en tant que fichier MSG, puis l'ouvrir en utilisant Application.Session.OpenSharedItem.

Si vous en utilisant Redemption est une option, il expose EmbeddedMsg propriété à la fois l'objet de fixation (retourné par l'objet SafeMailItem) et de l'objet RDOAttachment (retourné par l'objet RDOMail).

+0

Existe-t-il un moyen d'obtenir l'en-tête Internet de 'EmbeddingMsg' et comment? –

+1

Bien sûr, utilisez Fields [] dans Redemption (c'est l'équivalent de MailItem.PropertyAccessor.GetProperty). –