Miközben rakosgattam át a régebbi írásaimat erre a blogra ráakadtam két cikkre, ami arról szól, hogyan tudunk (milyen trükközések árán) egy CDO Message objektumba betölteni egy fájlként meglévő levelet:

https://www.emaildetektiv.hu/2005/09/12/mail-fajlok-es-a-cdo-1/

https://www.emaildetektiv.hu/2005/09/13/mail-fajlok-es-a-cdo-2/

Ez a feladat, valahogy mindig kísért a munkám során. Jelenleg Exchange 2007-hez írok egy Transport Agent-et, és a tesztelésnél ez megint előkerült. Közben természetesen megváltozott a környezet. CDO ugyan létezik még, de nem egy stratégiai fejlesztési irány. Nem COM-s dolgok készülnek, hanem .NET-esek. Megszűnt a régi jó kedvencem az SMTP Event Sink (amit scriptként is meg lehetett írni), Transport Agent lett helyette (ez már szigorúan .NET 2.0).

Ebből adódóan ennek a feladatnak a megoldása is megváltozott. Jóval egyszerűbb lett. Valami ilyesmi:

using System;
using System.Collections.Generic;
using System.Text;

using System.IO;
using Microsoft.Exchange.Data.Transport.Email;

namespace Messaging
{
    class Messaging
    {
        public static EmailMessage LoadMsgFile(string FileName)
        {
            Stream MsgStream = File.OpenRead(FileName);
            return EmailMessage.Create(MsgStream);
        }
    }
}