diff options
| author | 2024-08-14 20:01:42 +0100 | |
|---|---|---|
| committer | 2024-08-14 20:02:35 +0100 | |
| commit | 09f74a7383d50e1613123331ee85c47eb22fd790 (patch) | |
| tree | 2343c28908f6f7198c07190ad958a9ca13c8e19b | |
| parent | Add fortune reply script (diff) | |
Update script to use mblaze
| -rwxr-xr-x | ansible/roles/postfix/files/services/fortune-reply.sh | 16 | 
1 files changed, 5 insertions, 11 deletions
| diff --git a/ansible/roles/postfix/files/services/fortune-reply.sh b/ansible/roles/postfix/files/services/fortune-reply.sh index 6dbfe9b..97f2ce8 100755 --- a/ansible/roles/postfix/files/services/fortune-reply.sh +++ b/ansible/roles/postfix/files/services/fortune-reply.sh @@ -4,31 +4,25 @@  EMAIL=$(cat)  # Extract the sender's email address -SENDER=$(echo "$EMAIL" | grep -i "^From:" | head -n 1 | sed -E 's/.*<([^>]+)>.*/\1/;t;s/^From:[[:space:]]*//') - -# Filter for invalid emails or attempted spoofs that were injected into the From header -if ! echo "$SENDER" | grep -qE '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$'; then -    echo "Attempted spoof detected, quitting." -    exit 1 -fi +SENDER=$(echo "$EMAIL" | maddr -a -h from -)  # Extract the Message-ID of the original email -MESSAGE_ID=$(echo "$EMAIL" | grep -i "^Message-ID:" | head -n 1 | awk '{print $2}') +MESSAGE_ID=$(echo "$EMAIL" | mhdr -h message-id -)  # Extract the original Subject and prefix it with "Re: " if necessary -ORIGINAL_SUBJECT=$(echo "$EMAIL" | grep -i "^Subject:" | head -n 1 | sed -E 's/Subject: (Re: )?(.+)/\2/') +ORIGINAL_SUBJECT=$(echo "$EMAIL" | mhdr -h subject -)  # Construct the reply subject  REPLY_SUBJECT="Re: $ORIGINAL_SUBJECT"  # Extract the To address -TO_ADDRESS=$(echo "$EMAIL" | grep -i "^To:" | sed -E 's/To: (.*)/\1/') +TO_ADDRESS=$(echo "$EMAIL" | maddr -a -h to -)  # Generate the fortune output  if [[ "$TO_ADDRESS" =~ "fortune+cowsay" ]]; then    FORTUNE_OUTPUT=$(/usr/games/fortune | /usr/games/cowsay)  else -  FORTUNE_OUTPUT=$(/usr/games/fortune) +    FORTUNE_OUTPUT=$(/usr/games/fortune)  fi  # Send a reply with the proper headers | 
