Bon, ça m'avait l'air tout con (mais c'est quand même au delà de mes compétences, en tout cas :-)
Sous Outlook/Exchange 2003 SP3, j'ai une macro qui permet, depuis la fenêtre d'affichage d'un mail, d'enregistrer dans un répertoire temporaire des informations de ce mail qui sont nécessaires à une autre application; puis la macro fait un ShellExecute d'un exécutable maison (écrit en Delphi) qui se charge d'aller alimenter la base de données centrale sur base de ce qu'il lit dans le fichier temporaire.
J'ai donc en VBA une variable MonMail (de type MailItem) dans laquelle je vais rechercher :
- etc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MonMail..SenderEmailAddress pour avoir l'adresse de l'expéditeur MonMail.To me renvoie le ou les noms des destinataires. MonMail.Body
Mais ce qui me manque, c'est l'adresse des expéditeurs et destinataires qui font partie de mon domaine.
En effet,
me renvoient des machins qui me sont inutiles :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MonMail.Recipients(n).Address MonMail.Recipients(n).AddressEntry
Lorsque les adresses viennent hors de mon domaine, alors les valeurs renvoyées forment bel et bien une zolie adresse parfaitement utilisable... Par contre, pour toutes les adresses internes, Outlook juge utile de me renvoyer des références que je ne sais pas utiliser...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Recipient.Name = Paul Rambeaux Recipient.AddressEntry = Paul Rambeaux
Faut-il dès lors aller chercher l'adresse sur le serveur Exchange ? Y a pas plus simple, genre un paramètre magique à basculer avant d'appeler la fonction ?
(le problème se pose évidemment aussi avec MonMail.SenderEmailAddress : aucun problème lorsque l'expéditeur est extérieur à mon domaine. Mais si c'est un collègue, alors la propriété me renvoie ce genre de truc :
O=MONDOMAINE/OU=EXCHANGE ADMINISTRATIVE GROUP (FYD999999999999)/CN=RECIPIENTS/CN=USER9999999D)
Merci déjà de m'avoir lu jusqu'ici :-)
Partager