Sensitivity is not kept.
Read and Delivery receipts are not kept.
Meeting requests are changed to be normal emails (still a .msg file but no longer a meeting request)
An attached meeting request has the same problem as above and embedded images are lost.
I have attached examples of rich text emails, plain text and HTML also have problems.
Each attachment has an EML file which was generated by emailing an email-enabled library in SharePoint and an MSG file that was generated by converting the EML using the Aspose.Email.dll v1.6.0.0. (.NET 3.5)
Hi Aaron Robertson-Hodder
First of all accept my apologies for late reply and inconvenience faced by you.
I regret that I need some more cooperation from you to sort out the issue. Can you please share your piece of code where your are performing these tasks using Aspose.Email library.
It will help us to analyze the problem more accurately as per your usage.
I appreciate your patience and thanks for using Aspose.Email library as part of your solution.
Best Regards
Apologises for the brevity of my initial post. These issues have come off the back of a problem I posted about not long ago regarding in-line images being changed to attachments when converting an email from EML to MSG.
The idea is to convert EML emails that arrive in an email-enabled library to the Outlook .MSG format.
Here is the core that does the conversion. The resulting MSG file is fine but it's attachments are not always 'intact'. (see original post + attached files)
SPListItem EMLitem = GetEMLitem();
MemoryStream _MSGstream = new MemoryStream();
MemoryStream _EMLStreamInMSGFormat = new MemoryStream();
Stream _RawStream = EMLitem.File.OpenBinaryStream(SPOpenBinaryOptions.Unprotected);
MailMessage _EMLMessage = MailMessage.Load(_RawStream, MessageFormat.Eml);
_EMLMessage.Save(_EMLStreamInMSGFormat, MailMessageSaveType.OutlookMessageFormatUnicode);
MapiMessage _MSGMessage = MapiMessage.FromStream(_EMLStreamInMSGFormat);
_MSGMessage.Save(_MSGstream);
MapiProperty _propCreationDate = _MSGMessage.Properties[MapiPropertyTag.PR_CREATION_TIME];
MapiProperty _propReceivedDate = _MSGMessage.Properties[MapiPropertyTag.PR_MESSAGE_DELIVERY_TIME];
SPFile file = _destinationList.RootFolder.Files.Add(_destinationList.RootFolder.ServerRelativeUrl + "/" + filename, _MSGstream);
SPListItem MSGitem = file.Item;
Hi Aaron
First of all my apologies for late reply. Then I would like to thank you for helping us to improve the product and sharing your experiences with us which are very precious for us.
We have gone through the issues in detail, raised by you and found most of them valid. Now I will share my findings one by one.
First of all you talked about the sensitivity issue. I am afraid to share that sensitivity was set properly in the .eml file sent by you but when I opened the corresponding .msg file sent by you it was not having sensitivity. Then I converted your .eml file into .msg file myself and found the sensitivity intact. I would request you to check this issue once again with the latest Aspose.Email 1.7.0 library.
Secondly you talked about the failure of Receipt notification for the successfully sent mail. This is a valid issue and it was found that no notification was sent back to the sender. However I would like to share that in your .eml file this notification was not set. I opened your .eml file and then set the notification flag myself before mailing it. For this issue a ticket NETWORKNET-33261 has been raised.
Next issue was that meeting request is not properly opened at the receiving end when converted .msg (from your .eml file) is mailed. That is again a valid issue and is logged against ticket NETWORKNET-33263.
In the last there you talked about different type of attachments which are not properly opened at the receiving end. Again this mail is prepared using your .eml file and converted to .msg. Its a valid issue and is logged against NETWORKNET-33264.
I will let you know when I get updates regarding any of the ticket from my development team.
Best Regards
Hi Sajjad
I’ve tested again with Aspose.Email.dll v1.7.0.0 but I have the same issue with sensitivity.
The email sent to the SharePoint library had the following properties set:
- High importance
- Personal sensitivity
- Delivery receipt
- Read receipt
The importance is the only property that ‘survives’ the conversion.
If you are getting different results could you please provide me with the code you use to convert an EML to MSG as the code in my last post must be missing something.
Thanks, Aaron.
For clarity I have commented the code I use:
// The SharePoint item created from emailing the library. (EML file)
SPListItem EMLitem = GetEMLitem();
// The memory stream of the SharePoint Item (EML file)
Stream _RawStream = EMLitem.File.OpenBinaryStream(SPOpenBinaryOptions.Unprotected);
// Create a Mail Message (EML) file from the original memory stream
MemoryStream _EMLStreamInMSGFormat = new MemoryStream();
MailMessage _EMLMessage = MailMessage.Load(_RawStream, MessageFormat.Eml);
_EMLMessage.Save(_EMLStreamInMSGFormat, MailMessageSaveType.OutlookMessageFormatUnicode);
// Create a Mapi Message (MSG) by reading in the EML’s memory stream
MemoryStream _MSGstream = new MemoryStream();
MapiMessage _MSGMessage = MapiMessage.FromStream(_EMLStreamInMSGFormat);
_MSGMessage.Save(_MSGstream);
// Save the Mapi Message to a file in SharePoint
SPFile file = _destinationList.RootFolder.Files.Add(_destinationList.RootFolder.ServerRelativeUrl + "/" + filename, _MSGstream);
Hi Aaron
Thank you very much for continuous updates and knowledge sharing.
I am sending you complete running code along with Aspose.Email assembly.
Please check the following code. It performs two tasks. First it loads “MVEH RT CCBCC, Import, Sens.eml” sent by you and displays all the available headers with values.
Secondly it converts the email into MapiMessage and then again displays all the headers with values.
Here at my end when I run this code, it displays valid sensitivity in both the cases, rather all the headers remain intact. I request you to run this code and analyse the results and share if possible.
Following is the sample code
MailMessage Email = MailMessage.Load("MVEH RT CCBCC, Import, Sens.eml", MessageFormat.Eml);
//Display all email headers with value
foreach
(
string HeaderTitle
in Email.Headers.AllKeys)
Console.WriteLine(HeaderTitle + " :" + Email.Headers.Get(HeaderTitle) + "\n");
MemoryStream stream = new MemoryStream();
Email.Save(stream, MessageFormat.Msg);
//Load msg into MapiMessageobject
MapiMessage mapiMsg = MapiMessage.FromStream(stream);
//Display all message headers with value
foreach
(
string HeaderTitle
in mapiMsg.Headers.AllKeys)
Console.WriteLine(HeaderTitle + " :" + mapiMsg.Headers.Get(HeaderTitle) + "\n");
Best Regards
Hi Sajjad
Thank you for your continued support on this topic.
I have run your code and I have the same result as mine. As you said the header values are all correct at the object level but when the email is opened in Outlook they do not surface correctly.
I will attach 3 emails for you to analyse. The first is the original EML file. The second is the result of running your code. The third is the result of my code.
-
Email options.eml
-
email options test(ASPOSE code).msg
-
Peter Vincent_08May12 08.35.38_Email options test.msg
I have also attached some images showing the properties not surfacing correctly in the Outlook 2010 inspector window. The properties to look for are Sensitivity, Read Receipt and Delivery Receipt.
Could you please confirm that the behaviour I have described is the same at your end?
Hi Aaron
Thanks for your patience while sharing your issues with us.
I have re-generated above mentioned scenario here and found the issue to be valid. It does not maintain the right sensitivity and two receipts properties while conversion from EML to MSG or PST. I have logged a ticket NETWORKNET-33277 for further investigation and comments from the experts in our development team. As soon as I get some update, it will be sent to you immediately.
Best Regards
Hi Sajjad
Any word on these tickets?
NETWORKNET-33261
NETWORKNET-33263
NETWORKNET-33264
NETWORKNET-33277
The issues you have found earlier (filed as NETWORKNET-33277;NETWORKNET-33264) have been fixed in this update.
This message was posted using Notification2Forum from Downloads module by aspose.notifier.
Hi Aaron,
Thank you for your patience.
It is to notify you that we have resolved the ticket logged earlier as NETWORKNET-33261. The fix will be available with v2.0.0 of Aspose.Email for .NET and you will be notified via this thread.
Please note note that Read Receipts are only offered by Google Apps for Business, Education, and Government customers. This service is not available in personal Gmail accounts.
Regards,