diff --git a/local/bin/marchive b/local/bin/marchive new file mode 100755 index 0000000..9ceb023 --- /dev/null +++ b/local/bin/marchive @@ -0,0 +1,6 @@ +#!/bin/sh +if [ -z "$*" ]; then + mflag -Sf +else + mflag -Sf "$@" +fi diff --git a/local/bin/mfetch b/local/bin/mfetch new file mode 100755 index 0000000..3b9429b --- /dev/null +++ b/local/bin/mfetch @@ -0,0 +1,48 @@ +#!/bin/sh +# Split outbox emails +mlist /data/mail/outbox | mpick -t 'from =~ "posteo"' | mflag -F | mrefile /data/mail/posteo/Sent +mlist /data/mail/outbox | mpick -t 'from =~ "ugent"' | mflag -F | mrefile /data/mail/ugent/Sent +mlist /data/mail/outbox | mpick -t 'from =~ "gmail"' | mflag -F | mrefile /data/mail/gmail/Sent + +# Sync email +mbsync -a + +# No further processing if there are no new mails +if ! mdirs /data/mail | mlist -N | grep -q .; then + exit +fi + +set -e + +# Incorporate new mails and store them in the temp sequence +minc $(mdirs /data/mail) | mflag -F | mseq -S + +{ + # Ignores + mpick -t 'to =~ "unipept@ugent.be" && subject ~~ "*Mysql2::Error::ConnectionError*"' + mpick -t 'to =~ "dodona@ugent.be" && from =~ "KlasCement"' + mpick -t 'to =~ "dodona@ugent.be" && from =~ "logcheck system account"' + mpick -t 'to =~ "dodona@ugent.be" && subject =~ "A request took"' + mpick -t 'to =~ "dodona@ugent.be" && subject =~ "Onderwijsinstelling aangemaakt voor"' + mpick -t 'to =~ "dodona@ugent.be" && subject =~ "Een gebruiker kon niet inloggen"' + mpick -t 'to =~ "dodona@ugent.be" && subject =~ "Invalid or unknown LTI provider"' + mpick -t 'to =~ "dodona@ugent.be" && subject =~ "Faraday::ConnectionFailed"' + mpick -t 'to =~ "dodona@ugent.be" && subject =~ "internal error"' \ + | xargs grep -E -l 'course_id: (284|317|335|339|346|349|355|359|374|375|376|380|384|414)' + mpick -t 'to =~ "dodona@ugent.be" && subject =~ "internal error"' \ + | xargs grep -E -l 'user_id: 3' + mpick -t 'subject =~ "\[hackers\] \[slstatus\]"' + mpick -t 'from =~ "dependabot-preview"' + + # Muted mails + for muted in $(cat ~/.mblaze/muted); do + mpick -t '"references" =~~ "'"$muted"'"' + done +} | sort | uniq | marchive + +# Clear muted sequence +#mseq -f < ~/.mblaze/muted | mpick -t 'date < "'"$(date -I -d '1 month ago')"'"' | sponge ~/.mblaze/muted + +# Show the remaining new mails +mseq -f | mlist -F | mseq -S +mscan diff --git a/local/bin/minbox b/local/bin/minbox new file mode 100755 index 0000000..02f527a --- /dev/null +++ b/local/bin/minbox @@ -0,0 +1,3 @@ +#!/bin/sh +mdirs /data/mail/ | mlist -F | msort -d | mthread | mseq -S +mscan diff --git a/local/bin/mmute b/local/bin/mmute new file mode 100755 index 0000000..c31d76e --- /dev/null +++ b/local/bin/mmute @@ -0,0 +1,7 @@ +#!/bin/sh +if [ -z "$*" ]; then + exec mmute . +else + mseq "$@" | mshow -qh message-id:references:in-reply-to | grep -o '<[^>]*>' | cat ~/.mblaze/muted - | sort | uniq | sponge ~/.mblaze/muted + marchive "$@" +fi diff --git a/local/bin/mspam b/local/bin/mspam new file mode 100755 index 0000000..3d72bac --- /dev/null +++ b/local/bin/mspam @@ -0,0 +1,2 @@ +#!/bin/sh +mflag -STf "$@" diff --git a/local/bin/mtodo b/local/bin/mtodo new file mode 100755 index 0000000..a082fcf --- /dev/null +++ b/local/bin/mtodo @@ -0,0 +1,16 @@ +#!/bin/sh +f="$(mktemp)" +vis - > "$f" < +Alternate-Mailboxes: Felix Van der Jeugt ,Felix Van der Jeugt ,Felix Van der Jeugt ,Felix Van der Jeugt +Sendmail: msmtp +FQDN: mantle +Outbox: /data/mail/outbox