J'étudie actuellement la bibliothèque redemption
pour convertir des fichiers MSG en fichiers EML.Les adresses internes sont manquantes après la conversion de MSG en EML en utilisant Redemption
RDOSession session = new RDOSession();
RDOMail msg = session.GetMessageFromMsgFile(msgFile);
msg.SaveAs(emlFile, rdoSaveAsType.olRFC822);
Jusqu'à présent, Redemption fait un très bon travail ici contrairement à tout ce que je l'ai testé contre notre « corpus fichiers MSG-sauvages ».
Néanmoins, il existe un problème avec les adresses de messagerie internes. Pour les adresses e-mail internes, le fichier EML résultant contient uniquement la partie des adresses, mais pas l'adresse e-mail réelle avec le signe @
.
Je peux voir que RDOMail
objets destinataires contient l'adresse de messagerie réelle dans la propriété SMTPAddress
dans tous les cas. Mais il existe une différence pour la propriété Address
qui contient "l'adresse de messagerie réelle" pour les adresses externes, mais quelque chose comme /O=EXAMPLE ORGANIZAION/OU=SOME GROUP/cn=Recipients/cn=FBarney
pour les adresses internes. Ces derniers sont exactement les adresses qui manquent l'adresse e-mail réelle dans le fichier EML résultant.
J'ai donc essayé de passer outre la propriété Address
comme ça:
recipient.Address = recipient.SMTPAddress;
Mais cela n'a pas d'effet sur le résultat EML-fichier à la fin.
Comment faire pour convertir MSG en EML avec rédemption sans perdre les réelles adresses e-mail pour les adresses internes?
Question connexe mais ne traitant pas de la conversion en particulier: http://www.pcreview.co.uk/threads/how-to-get-the-recipients-email-address-in-redemption.1841215/ –