Error parsing EML ?!

Hello,
Any idea why this eml will not load correctly?
I mean no plain or html body is loaded and shown!
Using usual email clients I can see body very well.
WindowsApplication2.zip (56.4 KB)

Hello @australian.dev.nerds,

Any idea why this eml will not load correctly?

There are two Content-Type fields in the message header. This caused a collision when parsing eml. Reading the first Content-Type encountered, Aspose.Email ignored the second one.

Thanks.

oops, thanks, I should check why that happened, I’m sure I’ve converted that email 2 or 3 times using SDK so hope to reproduce it.
Anyhow, any workaround to try parse such conditions?
Using Windows Live Mail 2012 and Outlook 2021 to view that eml file, it’s shown correctly.

In the meantime, is this fine or need to have a Predefined Ipm folder?
Dim MyFiles As Pst.FolderInfo = MyStorageWriter.RootFolder.AddSubFolder(“Files”, “IPF.Files”)

I found that my outlook.com email accounts have a Files folder with IPF.Files in their pst storage, so thought to add files there :slight_smile:

Hello @australian.dev.nerds,

I’m sure I’ve converted that email 2 or 3 times using SDK so hope to reproduce it.

Please check and come back to this topic to let us know the details.

Anyhow, any workaround to try parse such conditions?

There is no workaround yet. Microsoft clients seem to handle the most recent content-type. Perhaps we should do the same behavior.

In the meantime, is this fine or need to have a Predefined Ipm folder?

I think it is fine.

Thank you.

1 Like

Thanks, please kindly advise to make sure if an email is successfully added to the PST and MBOX?

  1. Pst.FolderInfo.AddMessage will return new entryID string on successful write, so what’s returned on error? Null or empty string or else?

  2. MboxrdStorageWriter.WriteMessage will not return anything, it was nice if a boolean was returned indicating write success/failure status, but for now, how to find out a successful save?

Thanks for help :slight_smile:

@australian.dev.nerds,

You will get an exception if an error occurs while writing in both cases.

Now, the MboxrdStorageWriter.WriteMessage method also returns the entryID.
Sorry, this is not yet explicitly reflected in the API reference, will be updated.
Thanks.

1 Like

Hello, that entryID is great, thanks :slight_smile:

  1. So no way to not receive an exception with blank/null returned EntryID, so can use something like:
    If String.IsNullOrWhiteSpace(returnedEntryID) = False Then TotalMessagesAdded += 1

  2. I have saved all items from a pst and save them back to a new pst.
    When saving from pst, saved Calendar items in both msg and ics format.
    When running the 2nd code to make new pst, I got errors for 3 of ics files.

  3. No idea why their msg counterparts are not returning errors? Only ics causes error.

  4. Here’s the ics files with error text:

Proposed new time_ Test Rec App @ Sun 14 May 2023 7am - 7_05am (190.ics
Proposed new time
Test Rec App @ Sun 14 May 2023 7am - 7_05am (_222.ics
: The added or subtracted value results in an un-representable DateTime. Parameter name: value

St_ Patrick’s Day_401.ics : Start date 3/16/2012 12:00:00 AM not valid for this rule - Recur every year on the March, on the 17th day(s) of the month for a maximum of 6989 occurrences.

Release.zip (6.2 KB)

  1. And finally, when using PersonalStorage.Create(OutStream, FileFormatVersion.Unicode)
    I can get the total items count anytime:
    PersonalStorage.Store.GetTotalItemsCount

Please inform when using MboxrdStorageWriter(OutStream, False)
How to get the total items count from MboxrdStorageWriter?

Hi,
Most recent or the one with Html/Plain body available in case of multiple ones, maybe 3 content-type and the mid one has body! :smile:

@australian.dev.nerds,

I meant the Content-Type field in the root header of message. There should be only one Content-type field properly. But if Content-Type fields are more than one, Microsoft clients seem to apply the latest one.
Although it is possible there is a more complex algorithm for such collisions.
Thanks.

1 Like

Can you please kindly check this sample eml too?
Load it to MailMessage and check .Body / .HtmlBody properties!

Windows Live Mail 2012 and other clients will load it correctly!
eml.zip (53.0 KB)

@australian.dev.nerds
We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): EMAILNET-40986

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.