This week I was busy investigating which kind of email does MUAs accept and display nicely. Now wait! What does *kind of email* and *MUA* mean?
Emails that you use everyday are of various types, much more than you would have though before. There are emails which can remove styling depending on the mail client where you are viewing the email. The email clients are generally called as MUA(Mail User Agent). Now as per decided before we were planning to send out signed emails which had signature from both sender and mailman. The structure of a normal `pgp-signed` message is:
multipart/signed text/plain application/pgp-signatureBut this structure as you can see can with-hold only one signature part, ofcourse if you strictly follow rfc3156 . So we tried to deviate a bit from convention and tried out a few more structures like below:
multipart/signed text/plain multipart/mixed application/pgp-signature application/pgp-signatureThe above structure does not work with my MUA for the reason that my MUA(mu4e) fails to find any signature part inside the email as it gets an 'multipart/mixed' type instead of 'application/pgp-signature'.
multipart/alternative multipart/signed text/plain application/pgp-signature multipart/signed text/plain application/pgp-signatureThis part was recognized well by my MUA but it got confused to display which type. Usually 'multipart/alternative' emails are made so that MUA selects the best suited type it supports and display that part, but here it gets confused as technically both parts have same type(only different signatures). So it displayed both the parts one-after-another.Bah.
mutipart/signed text/plain application/pgp-signature application/pgp-signatureThis was one of the types where I inserted an extra signature part in the original message. My MUA was although able to show both signatures, I am trying to test all the three types with various other MUAs and then finally decide.EDIT
Finally we came up with another idea which was according to rfc as well got verified in some of the MUAs that we tried, it goes like following:
multipart/signed multipart/mixed multipart/signed text/plain application/pgp-signature text/plain application/pgp-signature
In the above structure we have a multipart/mixed part which is actually produces by mailman as of now, but from now(if my code is merged to the main trunk) on it will be further modified to created a multipart/signed message where whole multipart/mixed part is faltened and signature is calculate over the whole part.