Improvements to the address adding script.
This commit is contained in:
parent
da8565e028
commit
dff1079d60
@ -90,20 +90,52 @@ initialize_directory()
|
||||
fi
|
||||
# Create scripts
|
||||
if ! [ -f "$muttHome/scripts/add_address.sh" ]; then
|
||||
cat << EOF > "$muttHome/scripts/add_address.sh"
|
||||
cat << 'EOF' > "$muttHome/scripts/add_address.sh"
|
||||
#!/bin/bash
|
||||
|
||||
message=\$(cat)
|
||||
|
||||
newAlias=\$(echo "\${message}" | grep ^"From: " | sed -e s/[\,\"\']//g -e s/'From: '//g | awk -F" " '{if (NF == 1) {print "alias UNNAMED UNNAMED " \$0;} else if (NF == 2) {print "alias " \$1" " toupper(substr(\$0,1,1)) tolower(substr(\$0,2));} else if (NF >= 3) {print "alias ", tolower(\$1)"-"tolower(\$(NF-1))" " toupper(substr(\$0,1,1)) tolower(substr(\$0,2));}}')
|
||||
emailAddress="<\${newAlias##*<}"
|
||||
|
||||
if ! grep -Fq "\$emailAddress" \$HOME/.mutt/aliases; then
|
||||
echo "\$newAlias" >> \$HOME/.mutt/aliases
|
||||
add_email() {
|
||||
local alias="<${newAlias% *}"
|
||||
local emailAddress="<${newAlias##*<}"
|
||||
local ignoreList=(
|
||||
'amazon.com'
|
||||
'billing@'
|
||||
'do-not-reply'
|
||||
'donotreply'
|
||||
'github.com'
|
||||
'gitlab.com'
|
||||
'mailto'
|
||||
'noreply'
|
||||
'paypal.com'
|
||||
'walmart.com'
|
||||
)
|
||||
# Do not add aliases with no alias-name
|
||||
if [[ "$alias" == "UNNAMED" ]]; then
|
||||
return
|
||||
fi
|
||||
# Try to filter out addresses that do not receive replies.
|
||||
if [[ "<${emailAddress,,}" =~ ${ignoreList} ]]; then
|
||||
return
|
||||
fi
|
||||
# Do not add the same address twice.
|
||||
if grep -Fq "$emailAddress" $HOME/.mutt/aliases ; then
|
||||
return
|
||||
fi
|
||||
# Try to not use the same alias-name
|
||||
if grep -Fq " $alias " $HOME/.mutt/aliases; then
|
||||
alias="${alias}-${emailAddress#*@}"
|
||||
alias="${alias%.*}"
|
||||
fi
|
||||
if grep -Fq "$alias" $HOME/.mutt/aliases; then
|
||||
return
|
||||
fi
|
||||
echo "$newAlias" >> $HOME/.mutt/aliases
|
||||
sort -u ~/.mutt/aliases -o ~/.mutt/aliases
|
||||
fi
|
||||
}
|
||||
|
||||
echo "\${message}"
|
||||
message=$(cat)
|
||||
newAlias=$(echo "${message}" | grep ^"From: " | sed -e s/[\,\"\']//g -e s/'From: '//g | awk -F" " '{if (NF == 1) {print "alias UNNAMED UNNAMED " $0;} else if (NF == 2) {print "alias " $1" " toupper(substr($0,1,1)) tolower(substr($0,2));} else if (NF >= 3) {print "alias ", tolower($1)"-"tolower($(NF-1))" " toupper(substr($0,1,1)) tolower(substr($0,2));}}')
|
||||
add_email
|
||||
echo "${message}"
|
||||
|
||||
EOF
|
||||
chmod 700 "$muttHome/scripts/add_address.sh"
|
||||
|
Loading…
x
Reference in New Issue
Block a user