diff options
author | 2024-09-02 20:25:31 +0200 | |
---|---|---|
committer | 2024-09-03 10:43:39 +0100 | |
commit | ee27b437ce1dea269aa213c11f5ce54bb55f0951 (patch) | |
tree | 3a4d3163e87d5145aeac2a824a009c64d5397c49 | |
parent | Include sender date as a unix timestamp (diff) |
Delay Fredrick vacation script replies by 10 minutes
Untested. We should expand this (later) such that when an e-mail is sent
outside of Fredrick's regular working hours, the script (like Fredrick)
needs more time to get back to you, since he needs to practice his Qi.
-rw-r--r-- | ansible/roles/postfix/tasks/main.yml | 1 | ||||
-rw-r--r-- | ansible/roles/postfix/templates/services/fredrick-reply.sh.j2 | 21 |
2 files changed, 21 insertions, 1 deletions
diff --git a/ansible/roles/postfix/tasks/main.yml b/ansible/roles/postfix/tasks/main.yml index ac476e0..b708dbd 100644 --- a/ansible/roles/postfix/tasks/main.yml +++ b/ansible/roles/postfix/tasks/main.yml @@ -13,6 +13,7 @@ - postfix-policyd-spf-python # Mail scripting utilities - mblaze + - at state: present tags: - role::postfix diff --git a/ansible/roles/postfix/templates/services/fredrick-reply.sh.j2 b/ansible/roles/postfix/templates/services/fredrick-reply.sh.j2 index 0bfbf01..f4ef663 100644 --- a/ansible/roles/postfix/templates/services/fredrick-reply.sh.j2 +++ b/ansible/roles/postfix/templates/services/fredrick-reply.sh.j2 @@ -50,6 +50,16 @@ FRED_RESPONSE=$(curl -X POST "$FREDRICK_ENDPOINT" \ # Fredrick likes to try add a Subject: line on sometimes FILTERED=$(echo "$FRED_RESPONSE" | grep -v "^Subject:") +# Path where scheduled replies are stored +REPLIES_PATH=/var/tmp/fredrick-vacation-replies + +if [ ! -d "$REPLIES_PATH" ]; then + # -p is to prevent race conditions from concurrent script runs + mkdir -p "$REPLIES_PATH" +fi + +REPLY_PATH=$(mktemp --tmpdir="$REPLIES_PATH" --suffix=.eml) + ( echo "Subject: $REPLY_SUBJECT" echo "From: Fredrick <[email protected]>" @@ -63,4 +73,13 @@ FILTERED=$(echo "$FRED_RESPONSE" | grep -v "^Subject:") # Quote the original message echo "On $MESSAGE_DATE, $SENDER_DISPLAY_NAME wrote:" echo "$BODY" | awk -F '\n' '{ print "> " $1 }' -) | /usr/sbin/sendmail -t +) > "$REPLY_PATH" + +ATSCRIPT=$(mktemp --suffix=fredrick-atscript.sh) + +cat > "$ATSCRIPT" <<EOF +/usr/sbin/sendmail -t < "$REPLY_PATH" +rm "$REPLY_PATH" +EOF + +at -f "$ATSCRIPT" now + 10 min |