From 12d0f669278148d0bd4185d99e328847eb3766c5 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Sat, 1 Feb 2025 12:49:44 +0800 Subject: Update --- bin/mail/deliver.sh | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) (limited to 'bin') diff --git a/bin/mail/deliver.sh b/bin/mail/deliver.sh index bd5bd82..607b6b2 100755 --- a/bin/mail/deliver.sh +++ b/bin/mail/deliver.sh @@ -2,21 +2,9 @@ # Deliver incoming mail to proper mailbox # TODO image/audio mail part +mail_date="$(date --rfc-email)" -# log each delivery {{{ -log=$(grep -rlE 'From:\s+$log - From: MDA - Content-Type: text/plain; charset=UTF-8 - Subject: Delivery Log - - HEADER -fi -# }}} # shell opt/trap {{{ -exec 2>>$log shopt -s nocasematch extglob # update index for dovecot @@ -27,6 +15,25 @@ tmp_mailbox=$(mktemp -d); mkdir -p ${tmp_mailbox}/{tmp,new,cur} cat >${tmp_mailbox}/cur/mail trap 'rm -rf ${tmp_mailbox}' EXIT # }}} +# log each delivery {{{ +log=~/Maildir/cur/deliver.log +exec 2>>$log + +logfile=$(grep -rlE 'From:\s+&2 + From: MDA + Date: ${mail_date} + Message-ID: + Content-Type: text/plain; charset=UTF-8 + Subject: Delivery Log + + HEADER +else + mv $logfile $log 2>/dev/null + sed -i "1,/^$/ s/^Date: .*/Date: ${mail_date}/" $log +fi +# }}} # vars about message {{{ MAIL="$(decodemail ${tmp_mailbox})" # TODO process multi-line header field @@ -51,9 +58,10 @@ set_stdout() { print_mail() { if [ "$private" = true ]; then <<-MAIL cat - From: me - Date: $(date --rfc-email) + From: me + Date: ${mail_date} Message-ID: ${Message_ID} + Content-Type: text/plain; charset=UTF-8 Self: true Subject: ${heading} @@ -140,3 +148,5 @@ set_stdout && print_mail # log to stderr echo -e ${date} ${mailbox:-INBOX} '\t' "${heading:-${SUBJECT}}" >&2 + +# vim:fdm=marker fdl=0 -- cgit v1.2.3-70-g09d2