2 changed files with 49 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||
#!/bin/sh |
|||
|
|||
set -euo pipefail |
|||
|
|||
text="$(cat)" |
|||
|
|||
# Extract only the text/html part of the multipart email |
|||
# TODO parse actual encoding instead of defaulting to iso-8859-1 |
|||
mailto="$(printf "%s" "$text" \ |
|||
| awk ' |
|||
boundary { |
|||
if ($0 ~ boundary) { |
|||
boundary = ""; |
|||
next |
|||
} |
|||
print $0 |
|||
} |
|||
|
|||
/Content-Type: text\/html;/ { |
|||
boundary=line |
|||
} |
|||
|
|||
{ |
|||
line=$0 |
|||
}' \ |
|||
| qprint -d \ |
|||
| iconv -f iso-8859-1 -t utf-8 \ |
|||
| grep -Eo '<a href="mailto:.*?</a>')" |
|||
|
|||
to="$(printf "%s" "$mailto" | sed -En 's/.*mailto:(.*?)\?subject=.*/\1/p')" |
|||
subject="$(printf "%s" "$mailto" | sed -En 's/.*\?subject=(.*?)" .*/\1/p')" |
|||
# TODO extract original To: to emulate use_envelope_from |
|||
|
|||
datadir="${XDG_DATA_HOME:-"$HOME/.local/share"}/neomutt" |
|||
mkdir -p "$datadir" |
|||
|
|||
format_str="unmy_hdr To: Subject: |
|||
my_hdr To: \"%s\" |
|||
my_hdr Subject: \"%s\" |
|||
echo \`rm \"%s\"\`" |
|||
|
|||
printf "$format_str" "$to" "$subject" "$datadir/info.rc" > "$datadir/info.rc" |
|||
Loading…
Reference in new issue