From 9a89d50df98d3e236a1d2405a1b942730eb4b82d Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Mon, 3 Feb 2025 14:59:05 +0800 Subject: Update --- bin/mail/deliver.sh | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/bin/mail/deliver.sh b/bin/mail/deliver.sh index ea21ac7..ef3d461 100755 --- a/bin/mail/deliver.sh +++ b/bin/mail/deliver.sh @@ -2,8 +2,9 @@ # Deliver incoming mail to proper mailbox # TODO image/audio mail part -date=$(date +%s) -mail_date="$(date --rfc-email -d @${date})" + +epoch=$(date +%s) +mail_date="$(date --rfc-email -d @${epoch})" # shell opt/trap {{{ shopt -s nocasematch extglob @@ -17,24 +18,27 @@ cat >${tmp_mailbox}/cur/mail trap 'rm -rf ${tmp_mailbox}' EXIT # }}} # log each delivery {{{ -log=~/Maildir/cur/deliver.log.${date} -exec 2>>$log +log=~/Maildir/cur/deliver.log.${epoch} trap 'doveadm force-resync /' EXIT -logfile=$(grep -rlE 'From:\s+&2 +# add a new log file, or reuse existing log file +outdated_log=$(grep -rlE 'From:\s+${log} From: MDA Date: ${mail_date} - Message-ID: + Message-ID: <$log> 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 + mv "$outdated_log" $log + sed -i "1,/^$/ {s#^Date: .*#Date: ${mail_date}#; s#^Message-ID: .*#Message-ID: <${log}>#}" $log fi + +# Set stderr after process $log properly +exec 2>>$log # }}} # vars about message {{{ MAIL="$(decodemail ${tmp_mailbox})" @@ -127,7 +131,7 @@ elif [[ "${FROM}${TO}" =~ substack|service@kucw.io \ ]]; then mailbox=news -elif [[ "${SUBJECT}" =~ login|verify|sign-in|密碼|安全性警示|登入|存取 ]]; then +elif [[ "${SUBJECT}" =~ 密碼|安全性警示|登入|存取|驗證|login|verify|sign-in ]]; then mailbox=login elif [[ "${TO}" = cloudflare@topo.tw ]]; then mailbox=SRV/cloudflare -- cgit v1.2.3-70-g09d2