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