gmailto bash script

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
usage()
{
    echo "Compose email in gmail for mailto-url in default browser"
    echo "Usage: $0 mailto-url"
    echo
    echo "Example: $0 mailto:joe@example.com?cc=bob@example.com&body=hello"
    echo "Note: mailto-url should be url-encoded"
}
MAILTO_URL=$1
 
#Parse mailto URL
export TO=$(echo "$MAILTO_URL" | grep -oE "mailto:[A-Za-z0-9@\_\.\-]+" | cut -d ':' -f 2 )
export CC=$(echo "$MAILTO_URL" | grep -oE "(^|[?&])cc=[^&]+" | cut -f 2 -d "=" )
export BCC=$(echo "$MAILTO_URL" | grep -oE "(^|[?&])bcc=[^&]+" | cut -f 2 -d "=" )
export SUBJECT=$(echo "$MAILTO_URL" | grep -oE "(^|[?&])subject=[^&]+" | cut -f 2 -d "=" )
export BODY=$(echo "$MAILTO_URL" | grep -oE "(^|[?&])body=[^&]+" | cut -f 2 -d "=" )
 
PROVIDER_URL="https://mail.google.com/mail/?view=cm&fs=1&to=$TO&su=$SUBJECT&body=$BODY&cc=$CC&bcc=$BCC&tf=1"
 
case "$1" in
    "" | "-h" | "-help" | "--help" | "usage")
    usage
    exit 1
esac

这个脚本配合 xdg-open, xdg-email 使用,让 gmail 成为 mailto: 链接默认的写邮件工具。

Trackback

no comment untill now

Add your comment now