The PGP/MIME plugin gets (rightfully) confused when it encounters a PGP/MIME message that was broken by Microsoft Exchange. The problem in the server is well-known since 2008 [1]. The Enigmail team handles this issue by detecting whether it's looking at such a broken message and decrypting the correct part. It even offers to repair the message for the user, so that it gets stored in a proper fashion. The code for detecting is in Enigmail's enigmailConvert.jsm [2]. Maybe the PGP/MIME plugin could be extended to show the same behavior? I would start myself, but my last contact with C was in 1996 and I surely won't let that anywhere near privacy-related code :) [1] https://social.technet.microsoft.com/Forums/en-US/0f90b1be-6e7e-4658-b577-2bcfec02f7c9/exchange-2007-messes-up-pgp-encrypted-messages?forum=exchangesvrsecuremessaginglegacy [2] http://sourceforge.net/p/enigmail/source/ci/master/tree/package/enigmailConvert.jsm