exception in setting Outlook.MailItem.body as rich text

c#, devexpress, email, outlook, rtf

Solution

I'm not sure if you managed to solve your problem but I was stuck with the same thing. I was using the DevExpress RichEditControl to create a mail merged RTF file which would be used as the RtfBody of an Outlook MailItem. However, I was getting the same AccessViolationException.

My workaround, which is not the most elegant, was to convert the RTF to HTML using this method:

http://www.codeproject.com/Articles/51879/Converting-RTF-to-HTML-in-VB-NET-the-Easy-Way

Then just set the message .BodyFormat to olFormatHTML and set the .HTMLBody to the string returned from the function above.

Problem

I have a RichTextBox for the Message Body and I need to create a new mail with the body of rich Text. There is my code how i tried to realize that: ``` MemoryStream ms = new MemoryStream(); MemoEditBody.SaveDocument(ms, DevExpress.XtraRichEdit.DocumentFormat.Rtf); byte[] RTFBody = ms.ToArray(); email.oMsg.RTFBody = RTFBody; ``` Types: ``` OutlookEMail email; public MailItem oMsg; ``` Problem: Working with 2010 Outlook - works properly; Working with 2007 Outlook -this code throws exception (`AccessViolationException: Attempted to read or write protected memory`) Can someone suggest how to resolve this problem with 2007 Outlook? P.S. Using : Visual studio 2010 DevExpress It was tested on two computers, they are almost identical (same windows, same framework, only one has Outlook 2007 another 2010) so it is 80% that problem is in Outlook version.

Original source