I am processing > 200k e-mails from .pst files with your library version 0.9.4.
On 30 of my e-mails, I get a NullPointerException when calling getFileInputStream()
java.lang.NullPointerException
at com.pff.PSTAttachment.getFileInputStream(PSTAttachment.java:123)
I dug into it and in one case it was a corrupt attachment that I also couldn't open in Microsoft Outlook.
Most of them returned an URL of the form https://1drv.ms/.../<some random string> from getLongPathname()
Some of them returned an URL of the form https://<some company name>.sharepoint.com/.../<some random string>
Entering these URLs in a web browser, I can access the files, but Microsoft annoyingly tries to make it difficult to do that programmatically, so finally I didn't bother and just excluded these e-mails.
Maybe you want to deal with this Microsoft weirdness more gracefully in your library, for example by printing a warning, instead of running into a NullPointerException. But maybe it's also not worth the effort; at least according to my sample, these things are fortunately quite rare.
Possibly the same problem as reported in https://github.com/rjohnsondev/java-libpst/issues/31
I am processing > 200k e-mails from .pst files with your library version 0.9.4. On 30 of my e-mails, I get a
NullPointerException
when callinggetFileInputStream()
I dug into it and in one case it was a corrupt attachment that I also couldn't open in Microsoft Outlook.
However, for the other 29 problematic attachments, it turned out that they were "attachments" in the form of OneDrive links (see also https://www.msoutlook.info/question/attach-instead-of-link-to-onedrive-files, for example).
7
fromgetAttachMethod()
(which shouldn't even be possible according to http://rjohnsondev.github.io/java-libpst/com/pff/PSTAttachment.html#getAttachMethod--)https://1drv.ms/.../<some random string>
fromgetLongPathname()
https://<some company name>.sharepoint.com/.../<some random string>
Maybe you want to deal with this Microsoft weirdness more gracefully in your library, for example by printing a warning, instead of running into a NullPointerException. But maybe it's also not worth the effort; at least according to my sample, these things are fortunately quite rare.
Thanks for java-libpst by the way!