Skip to main content

Progmail

Alle eingehenden Mails sollen automatisiert verarbeitet werden.

LIVE: export Check Config oder State an Check Monitoring Sites

TEST: touch field with Date in File and Dir name

Die Dateien werden gpg verschlüsselte Anhänge haben. Um diese zu extrahieren verwende ich das Tool ripmime

GPG Initialisierung

https://www.hauke-laging.de/sicherheit/openpgp.html

Bildschirmfoto 2023-10-01 um 19.15.35.png

Danach soll eine Passphrase eingegeben werden. Hier zum Test lasse ich das leer und bestätige das im nächsten Schritt. Die Aufforderung kommt 2x.

Bildschirmfoto 2023-10-01 um 19.15.43.png

Bildschirmfoto 2023-10-01 um 19.15.50.png

.procmailrc

Diese Datei steuert die procmail Verarbeitung.

Jedes Mail wird als Betreff haben "STATE <Chckmk Site name>"

Das das Regex Element nach '\/' füllt die Variable MATCH. 

ORGMAIL=$HOME/Maildir
DEFAULT=$ORGMAIL
MAILDIR=$HOME/Maildir
VERBOSE=on
PMDIR=$HOME/.procmail
LOGFILE=$HOME/procmaillog
SHELL=/bin/bash
DATE=`date +%Y%m%d_%H-%M-%S`

SUBJECT=| formmail -xSubject:
DELIVERY=| formmail -xX-Delivery-Time:
DTIME=`echo $DELIVERY | date +%Y%m%d_%H-%M-%S`

:0
* ^Subject:.*STATE \/.*
| mkdir -p $HOME/received/$MATCH/$DTIME && ripmime --overwrite --no-nameless -i - -d $HOME/received/$MATCH/$DTIME/ && $HOME/extract $MATCH/$DTIME

TEST

zum Test nutze ich ein bashscript "sendstate". Die Verarbeitung das Skript "extract"

#!/bin/bash

sendPATH="$HOME/send"
mkdir -p $sendPATH

cd $sendPATH

touch state
tar czvf state.tgz state
gpg -e --batch --yes -r USRV2-MAIL -o state.gpg state.tgz

for s in site01 site02 site03 site04 site05 site06 site07 site08 site09 site10 site11 site12 site13 site14 site15 site16 site17 site18 site19 site20
do
	echo "STATE $s" | mail -s "STATE $s" -A state.gpg -r gerald@amrhein.info admin@amrhein.info
done
#!/bin/bash

recvPATH="$HOME/received/$1"

cd "$recvPATH"

gpg -d --batch --yes -r USRV2-MAIL state.gpg >state.tgz
tar xzvf state.tgz
myDATE=$(echo $(stat state -c %Z) | date +%Y%m%d_%H-%M-%S)
mv state ${myDATE}_state