]>
git.madduck.net Git - etc/mailfilter.git/blobdiff - bin/resubmit
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
-V|--version & show version information.
-h|--help & show this output.
-l|--list & process the argument list (even if empty), never stdin
-V|--version & show version information.
-h|--help & show this output.
-l|--list & process the argument list (even if empty), never stdin
+ -r|--deliver-read & mark messages read on delivery
-SHORTOPTS=Vhl
-LONGOPTS=version,help,list
+SHORTOPTS=Vhlr
+LONGOPTS=version,help,list,deliver-read
files=
for opt in $(getopt -n $ME -o $SHORTOPTS -l $LONGOPTS -u -- "$@"); do
files=
for opt in $(getopt -n $ME -o $SHORTOPTS -l $LONGOPTS -u -- "$@"); do
-V|--version) about; exit 0;;
-h|--help) about; echo; usage; exit 0;;
-l|--list) list=1;;
-V|--version) about; exit 0;;
-h|--help) about; echo; usage; exit 0;;
-l|--list) list=1;;
+ -r|--deliver-read) mark_read=1;;
--) :;;
*)
if [ -f "$opt" ] && [ -r "$opt" ]; then
--) :;;
*)
if [ -f "$opt" ] && [ -r "$opt" ]; then
done
PROCMAIL=$HOME/.etc/mailfilter/procmail/procmailrc
done
PROCMAIL=$HOME/.etc/mailfilter/procmail/procmailrc
-# execute the date -R only during the eval, not immediately
-FILTER='/usr/bin/formail -I"X-Resubmitted: $(date -R)"'
-if [ -z "${1:-}" ] && [ $list -eq 0 ]; then
+if [ "$mark_read" -eq 1 ]; then
+ PROCMAIL="$PROCMAIL DELIVER_READ=1"
+fi
+
+DATE_R="$(date -R)"
+FILTER="sed -rne ':b;s/^(Received|Date):/&/;tf;p;n;bb' -e ':f;iReceived: by resubmission script; $DATE_R' -e ':e;p;n;be'"
+FILTER="$FILTER | /usr/bin/formail -I'X-Resubmitted: $DATE_R'"
+
+if [ -z "${files:-}" ] && [ $list -eq 0 ]; then
eval $FILTER | exec $PROCMAIL
else
for f in $files; do
eval $FILTER | exec $PROCMAIL
else
for f in $files; do