rp

simple email tools
git clone https://git.parazyd.org/rp
Log | Files | Refs | README | LICENSE

commit e2cdca99c1f131d167a17a2a38715d7cc9a06063
parent b5ad207a6a8154d480c106b806b0c30b45bfad83
Author: parazyd <parazyd@dyne.org>
Date:   Wed, 28 Feb 2018 20:31:37 +0100

Use sieve.c in rpsieve.

Diffstat:
Mbin/rpsieve | 44++++++++++++++++----------------------------
1 file changed, 16 insertions(+), 28 deletions(-)

diff --git a/bin/rpsieve b/bin/rpsieve @@ -24,16 +24,14 @@ for i in $@; do esac done -[ -n "$edit" ] && { - vim "$profile/filters.txt" || edie "$(basename $0) canceled" -} - -[ -f "$profile/filters.txt" ] || edie "no filters.txt file" +ft="$profile/filters.txt" +fs="$profile/filters.sieve" -ebegin "regenerating filters.sieve" +[ -n "$edit" ] && { vim "$ft" || edie "$(basename $0) canceled" } +[ -f "$ft" ] || edie "no filters.txt file" -ebegin "adding skel" -cat <<EOF > "$profile/filters.sieve" +einfo "adding skel" +cat <<EOF > "$fs" # mailbox supports fileinto :create require ["fileinto","mailbox","variables"]; @@ -46,33 +44,22 @@ if header :contains "Sender" "mailman-bounce" { # own filters EOF -ebegin "adding To:" -grep '^to' "$profile/filters.txt" | while read line; do - cat <<EOF >> "$profile/filters.sieve" -if header :contains ["To","Cc"] "$(echo $line | awk '{print $2}')" { fileinto :create "$(echo $line | awk '{print $4}')"; stop; } -EOF -done - -ebegin "adding From:" -grep '^from' "$profile/filters.txt" | while read line; do - cat <<EOF >> "$profile/filters.sieve" -if header :contains "From" "$(echo $line | awk '{print $2}')" { fileinto :create "$(echo $line | awk '{print $4}')"; stop; } -EOF -done +rohrpost rpsieve < "$ft" >> "$fs" -ebegin "adding rpabook whitelist" -cat <<EOF >> "$profile/filters.sieve" +einfo "adding rpabook whitelist" +cat <<EOF >> "$profile/fs" # INBOX if header :contains "From" [ EOF grep '^email' "$profile/whitelist.abook" | \ - sed -e 's/^email=/"/' -e 's/$/",/' | head -c -2 >> "$profile/filters.sieve" + sed -e 's/^email=/"/' -e 's/$/",/' | \ + head -c -2 >> "$fs" -ebegin "finalizing" -cat <<EOF >> "$profile/filters.sieve" +einfo "finalizing" +cat <<EOF >> "$profile/fs" ] { fileinto :create "INBOX"; stop; } @@ -84,6 +71,7 @@ fileinto :create "unsorted"; EOF if [ -n "$upload" ]; then - ebegin "uploading filters.sieve" - scp "$profile/filters.sieve" tupac3.dyne.org:/var/vmail/sieve-scripts/"$(readlink $profile)" + einfo "uploading filters.sieve" + scp "$fs" \ + tupac3.dyne.org:/var/vmail/sieve-scripts/"$(readlink $profile)" fi