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;
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With