adds post on mutt multipart messages, and fixes summary-only RSS feeds
This commit is contained in:
parent
1c4c9efa87
commit
6a65df88c8
83
content/(neo)mutt_fuckery_with_multipart_messages.md
Normal file
83
content/(neo)mutt_fuckery_with_multipart_messages.md
Normal file
@ -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
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style type="text/css"> body { margin : 40px auto;
|
||||
max-width : 650px;
|
||||
line-height : 1.6;
|
||||
font-size : 18px;
|
||||
color : #444;
|
||||
padding : 0 10px
|
||||
}
|
||||
h1,h2,h3 { line-height : 1.2
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
Sorry, this email is not available in HTML<br/>
|
||||
Please refer to the plain text version!
|
||||
</h1>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
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<enter>'\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:
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
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 ❤️
|
@ -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': {
|
||||
|
Loading…
x
Reference in New Issue
Block a user