2012-02-16 1 views
1

J'écris un complément Outlook pour Outlook 2007. Il s'agit d'un complément VSTO 3.0, C#. Je capture l'événement d'envoi dans le complément, puis vérifie certaines des propriétés de courrier électronique (qui est envoyé) et sur la base de cette affiche une certaine alerte. Lorsque j'essaie d'obtenir la taille totale du courrier électronique à l'aide de mailItem.Size, il renvoie toujours 0 alors que la taille réelle du courrier électronique n'est pas 0. Et si j'enregistre le courrier électronique (mailitem.Save()), puis mailItem.Size renvoie la taille correcte du courrier. Quelqu'un connaît-il la raison de ce comportement? Y a-t-il une autre façon d'obtenir la taille de l'email?Comment obtenir la taille de l'article de messagerie Outlook?

+0

Avant de sauvegarder l'élément, il est en mémoire. Après l'avoir enregistré, il est conservé dans le stockage MAPI. –

Répondre

0

Est-ce que quelqu'un sait de la raison derrière ce comportement. Y a-t-il une autre façon d'obtenir la taille de l'email?

AFAIK, Ceci est le comportement par défaut dans Outlook. Vous ne pouvez pas obtenir la taille jusqu'au moment où vous enregistrez/envoyez-le.

Vous pouvez cependant vérifier la taille de l'accessoire ou la longueur du corps si cela vous aide?

2

Oui, il s'agit du comportement par défaut dans Outlook.
Je vous suggère de l'enregistrer (MailItem.Save) avant de l'envoyer.
L'enregistrement de l'e-mail le placera dans le dossier des brouillons ... mais peu importe car vous allez maintenant vérifier sa taille (MailItem.Size) et l'envoyer (MailItem.Send).

Questions connexes