-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When from name/address are not available (unsent emails), these fields are filled with binary garbage #27
Comments
Fix released in 1.7.3, thanks again @Faelean. |
Hey, i just noticed that this fix does not work for names and adresses with characters outside the ascii range. Also i think the parsing algorithm for the Sender name is not fully correct. Please have a look at the parsing code in MSGReader, which handles this case correctly and works with all encodings, it also does not parse the MAPITag 0x8008, which causes the problem in "unsent draft.msg". It is a great project. I learned a lot by reading through their code! https://github.com/Sicos1977/MSGReader/blob/c11e890908d329c8d3892ff27fbe2da0ce049f4b/MsgReaderCore/Outlook/Message.cs#L1727 You can also refer to my gist with all of the mapi property tags i could find on the internet: I think this issue should be reopened... |
Hey thanks for the reference material. I'll take a closer look when I'll have some time. In the mean time, I'll happily accept pull requests if feel up to it. |
This seems like a larger fix and I am short on time right now, also my tests are still not working correctly. I'll have to pass for now, sorry! |
It must by my misunderstanding, but I don't see where 0x8008 is handled in the project you referenced. |
Exactly thats the point ;) It does NOT parse it! |
oh crap, I misread your comment :D Hmm, but man, holy cow how complex should getting a sender+name be. That C# way is not a piece of cake either (100 lines of code). |
Maybe it does not have to be that complex, on the other hand the msg format is not really known for it's simplicity either :D |
I think our implementation is close to working well enough with the current setup. Doing it any other way requires reworking the code completely. What do you think about replacing the current check with this approach (SO)? Would have to test it for sure, but I'm not at home currently. |
Hm i thought maybe it would be enough to simply ignore 0x8008 or have a look at what that value really means... I don't like checks like the one you posted, they always feel like a workaround instead of adressing the problem directly |
Surprisingly (to me) this appears to be the case. Then I have no idea why 8008 is included there. |
Thanks for pushing the issue @derrohrbach, I just released 1.7.4 with the work-around and 0x8008 handling removed. |
Originally reported by @Faelean in #25 (comment)
The text was updated successfully, but these errors were encountered: