Outlook COM: how to create a MailItem from a .msg file

Simon Brunning simon.brunning at gmail.com
Mon Jul 4 13:56:58 CEST 2005

On 7/4/05, Guy Lateur <guy.lateur at b-b.be> wrote:
> I've been writing some code to move some data into and out of Outlook (2003
> + Exchange 2003). I have some email .msg files on our file server, and I
> can't seem to get them back into the Outlook object I need, ie a MailItem.
> I've tried to use App.CopyFile() to (temporarily) put the file in an OL
> folder. Problem is, however, this returns a DocumentItem and not a MailItem.
> Is there any way I could 'cast' this DItem into a MItem? Apparently, OL
> treats it as any general document - which, btw, shows in the view, too; it
> has another icon and you have to open it to view it). Or maybe there's
> another way to open it; I really only need the object in memory. Any ideas?

Well, I don't know anything about Outlook's COM interface, so I don't
know if this will work, but you might try win32com.client.CastTo().
Something like:

my_MItem = win32com.client.CastTo(my_DItem, 'MItem')

Simon B,
simon at brunningonline.net,

More information about the Python-list mailing list