commit 35cab741af069571cf4c55e0ce1ae96617d5778c Author: Peter Hoeg Date: Fri Aug 12 10:52:22 2022 +0800 nixify diff --git a/scripts/msmtpq/msmtpq b/scripts/msmtpq/msmtpq index d8b4039..1ab89f8 100755 --- a/scripts/msmtpq/msmtpq +++ b/scripts/msmtpq/msmtpq @@ -71,7 +71,7 @@ fi ## ( chmod 0700 msmtp.queue ) ## ## the queue dir - export this variable to reflect where you'd like it to be (no quotes !!) -Q=${Q:-~/.msmtp.queue} +Q=${MSMTP_QUEUE:-~/.msmtp.queue} [ -d "$Q" ] || mkdir -m 0700 -p "$Q" || \ err '' "msmtpq : can't find or create msmtp queue directory [ $Q ]" '' # if not present - complain ; quit ## @@ -85,8 +85,10 @@ Q=${Q:-~/.msmtp.queue} ## ## the queue log file - export this variable to change where logs are stored (but no quotes !!) ## Set it to "" (empty string) to disable logging. -[ -v LOG ] || LOG=~/log/msmtp.queue.log +LOG=${MSMTP_LOG:-~/log/msmtp.queue.log} [ -d "$(dirname "$LOG")" ] || mkdir -p "$(dirname "$LOG")" + +JOURNAL=@journal@ ## ====================================================================================== ## msmtpq can use the following environment variables : @@ -139,6 +141,7 @@ on_exit() { # unlock the queue on exit if the lock was ## display msg to user, as well ## log() { + local NAME=msmtpq local ARG RC PFX PFX="$('date' +'%Y %d %b %H:%M:%S')" # time stamp prefix - "2008 13 Mar 03:59:45 " @@ -156,10 +159,19 @@ log() { done fi + if [ "$JOURNAL" = "Y" ]; then + for ARG; do + [ -n "$ARG" ] && + echo "$ARG" | systemd-cat -t "$NAME" -p info + done + fi + if [ -n "$RC" ] ; then # an error ; leave w/error return [ -n "$LKD" ] && lock_queue -u # unlock here (if locked) [ -n "$LOG" ] && \ echo " exit code = $RC" >> "$LOG" # logging ok ; send exit code to log + [ "$JOURNAL" = "Y" ] && \ + echo "exit code= $RC" | systemd-cat -t "$NAME" -p emerg exit "$RC" # exit w/return code fi }