Ralph> May we have the output of `mhlist -verbose' for those two emails?
It's one email, just editing back and forth between the two (I was trying to reduce to the core problem): msg part type/subtype size description 3507 multipart/mixed 24K boundary="----=_Part_4723_1712151815.1576230379945" 1 multipart/alternative 21K boundary="----=_Part_4724_2115414819.1576230379946" 1.1 text/html 16K charset="UTF-8" 1.2 text/plain 5132 charset="UTF-8" 2 application/ics 1499 name="meetup.ics" method="PUBLISH" charset="UTF-8" vs (above is broken, below displays as desired): msg part type/subtype size description 9999 multipart/mixed 24K boundary="----=_Part_4723_1712151815.1576230379945" 1 multipart/alternative 21K boundary="----=_Part_4724_2115414819.1576230379946" 1.1 text/html 16K charset="UTF-8" 1.2 text/plain 5132 charset="UTF-8" 2 text/calendar 1450 name="meetup.ics" method="PUBLISH" charset="UTF-8" .. differences between the two on `strace mhshow` include - The extracted temp file has a .ics suffix for text/calendar, but not for application/ics — but I can change this with mhn.defaults, and it makes no difference. - The text/calendar tempfile has \n line endings, while the application/ics one has \r\n line endings — even though this is the exact same base64-encoded content for both: the only difference is the Content-Type. As to whether application/ics is a valid type Ken: meetup.com at least generates them copiously, so valid or not, they're real unfortunately. The part *is* an attachment, but when it's a text/calendar attachment it would appear that mhshow defaults to displaying it. I attach an example email below. C.
Message-ID: <1140016141.1576230379946.JavaMail.root@ip-10-192-12-144.ec2.internal> From: Meetup <i...@meetup.com> Sender: i...@meetup.com To: biz_nmh_work...@xrad.org Subject: See you at: blah MIME-Version: 1.0 Date: Fri, 13 Dec 2019 00:00:00 +0000 (UTC) Content-Type: multipart/mixed; boundary="----=_Part_4723_1712151815.1576230379945" ------=_Part_4723_1712151815.1576230379945 Content-Type: multipart/alternative; boundary="----=_Part_4724_2115414819.1576230379946" ------=_Part_4724_2115414819.1576230379946 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Blah. ------=_Part_4724_2115414819.1576230379946 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 7bit <html> <head> <title>Meetup</title> </head> <body> Blah. </body> </html> ------=_Part_4724_2115414819.1576230379946-- ------=_Part_4723_1712151815.1576230379945 Content-Type: application/ics; name=meetup.ics; method=PUBLISH; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=meetup.ics QkVHSU46VkNBTEVOREFSClZFUlNJT046Mi4wClBST0RJRDotLy9NZWV0dXAvL01lZXR1cCBFdmVu dHMgdjEuMC8vRU4KQ0FMU0NBTEU6R1JFR09SSUFOCk1FVEhPRDpQVUJMSVNICkJFR0lOOlZUSU1F Wk9ORQpUWklEOkV1cm9wZS9Mb25kb24KVFpVUkw6aHR0cDovL3R6dXJsLm9yZy96b25laW5mby1v dXRsb29rL0V1cm9wZS9Mb25kb24KQkVHSU46REFZTElHSFQKVFpPRkZTRVRGUk9NOiswMDAwClRa T0ZGU0VUVE86KzAxMDAKVFpOQU1FOkJTVApEVFNUQVJUOjE5NzAwMzI5VDAxMDAwMApSUlVMRTpG UkVRPVlFQVJMWTtCWU1PTlRIPTM7QllEQVk9LTFTVQpFTkQ6REFZTElHSFQKQkVHSU46U1RBTkRB UkQKVFpPRkZTRVRGUk9NOiswMTAwClRaT0ZGU0VUVE86KzAwMDAKVFpOQU1FOkdNVApEVFNUQVJU OjE5NzAxMDI1VDAyMDAwMApSUlVMRTpGUkVRPVlFQVJMWTtCWU1PTlRIPTEwO0JZREFZPS0xU1UK RU5EOlNUQU5EQVJECkVORDpWVElNRVpPTkUKQkVHSU46VkVWRU5UCkRUU1RBTVA6MjAxOTEyMTNU MDk0NjE5WgpEVFNUQVJUO1RaSUQ9RXVyb3BlL0xvbmRvbjoyMDIwMDEwNVQxOTAwMDAKRFRFTkQ7 VFpJRD1FdXJvcGUvTG9uZG9uOjIwMjAwMTA1VDIxMDAwMApTVEFUVVM6Q09ORklSTUVEClNVTU1B Ulk6QmxhaApERVNDUklQVElPTjpCbGFoCk9SR0FOSVpFUjtDTj1NZWV0dXAgUmVtaW5kZXI6TUFJ TFRPOmluZm9AbWVldHVwLmNvbQpDTEFTUzpQVUJMSUMKQ1JFQVRFRDoyMDE5MTIxMFQwMDAwMDBa CkxPQ0FUSU9OOkJsYWgKVVJMOmh0dHBzOi8vd3d3Lm1lZXR1cC5jb20vClNFUVVFTkNFOjIKTEFT VC1NT0RJRklFRDoyMDE5MTIxMFQwMDAwMDBaClVJRDpldmVudF9ibGFoQG1lZXR1cC5jb20KRU5E OlZFVkVOVApFTkQ6VkNBTEVOREFSCg== ------=_Part_4723_1712151815.1576230379945--