diff --git a/content/(neo)mutt_fuckery_with_multipart_messages.md b/content/(neo)mutt_fuckery_with_multipart_messages.md new file mode 100644 index 0000000..9f5890d --- /dev/null +++ b/content/(neo)mutt_fuckery_with_multipart_messages.md @@ -0,0 +1,83 @@ +Title: (Neo)mutt fuckery with multipart messages +Date: 2018-07-03T23:40+02:00 +Author: Wxcafé +Category: +Slug: content/(neo)mutt_fuckery_with_multipart_messages + +I've been using Mutt, and then Neomutt, as an email client on my laptops for +a while (I generally use Evolution on my desktop, because it runs on GNOME, +while the laptops run on i3wm). Today while talking with colleagues who also use +a TUI, text-only email client, we realized we had one shared pain about this, +which was receiving multipart emails where the text/plain part was either the +HTML source of the text/html part or a single line saying "This email has no +plain text version, refer to the HTML version" (If you don't know how multipart +emails and MIME work, [wikipedia has a good +primer](https://en.wikipedia.org/wiki/MIME#Multipart_messages)). + +We thought it might be fun as retaliation to send multipart emails, with the +text/html part saying "This email has no HTML version, please refer to the plain +text". An hour and a few curses at mutt's documentation later, I'd come up with +this solution: + +First, create the HTML document: + +```html + + + + + + + + + +

+ Sorry, this email is not available in HTML
+ Please refer to the plain text version! +

+ + +``` + +and put it in `~/.mutt/multipart.html` + +Then we simply need to add to our .muttrc this line: + +``` +send-hook ~A "push 'a~/.mutt/multipart.html'\CDkTT&" +``` + +This is a send-hook that will match any outgoing email, add the html file as an +attachement, then tag it as inline, tag both parts of the message and merge them +into a multipart/alternative file (The `&` command only exists in ~recent (May +2, 2018) versions of neomutt). + +You can now do anything you'd normally do with the email, add further +attachements, PGP sign it (or not), add ccs, whatever. When you send the email, +it will be sent as a multipart/alternative message with the HTML document we set +earlier as the text/html part and your message as the text/plain part, and +basically every graphical client will only display the HTML version. + +--- + +### Sample fuckery: + +![example of the same email message opened in mutt and +Evolution](https://pub.wxcafe.net/img/mutt-fuckery.png) + +--- + +P.S.: I know I shouldn't have to say this but please don't actually use this to +annoy people who use graphical email clients. We're the weird ones, basically +everyone uses a graphical email client, and they're clearly the standard now, +plus it's clearly a dick move to do this. Please refrain. Thank you for your +understanding ❤️ diff --git a/pelicanconf.py b/pelicanconf.py index a4a1a46..215e7a5 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -28,6 +28,7 @@ CATEGORY_FEED_ATOM = None AUTHOR_FEED_ATOM = None AUTHOR_FEED_RSS = None FEED_ALL_ATOM = None +RSS_FEED_SUMMARY_ONLY = False MARKDOWN = { 'extension_configs': {