added first (incomplete)version of pipe script to get at least one mail sent encrypted and signed
This commit is contained in:
parent
4a6f66af1a
commit
280884a058
101
mail2members.sh
Executable file
101
mail2members.sh
Executable file
@ -0,0 +1,101 @@
|
||||
#!/bin/sh
|
||||
usage()
|
||||
{
|
||||
echo "usage"
|
||||
echo "====="
|
||||
echo ""
|
||||
echo "reads a csv-file with member-data and a text-template from template"
|
||||
echo "uses erb to fill the template with data, encrpyt and sign the mail with the members public pgp key and send it via swaks(swiss army knife for smtp)"
|
||||
echo ""
|
||||
echo "./$0"
|
||||
echo "\t-h --help"
|
||||
echo "\t--member-data=member-data.csv"
|
||||
echo "\t--template=template.erb"
|
||||
echo "\t--subject=subject"
|
||||
echo "\t--smtphost=smtphost"
|
||||
echo "\t--smtpuser=smtpuser"
|
||||
echo "\t--smtppassword=smtppassword"
|
||||
|
||||
echo ""
|
||||
}
|
||||
|
||||
while [ "$1" != "" ]; do
|
||||
PARAM=`echo $1 | awk -F= '{print $1}'`
|
||||
VALUE=`echo $1 | awk -F= '{print $2}'`
|
||||
case $PARAM in
|
||||
-h | --help)
|
||||
usage
|
||||
exit
|
||||
;;
|
||||
-n)
|
||||
DRYRUN=1
|
||||
;;
|
||||
--member-data)
|
||||
MEMBER_DATA=$VALUE
|
||||
;;
|
||||
--template)
|
||||
TEMPLATE=$VALUE
|
||||
;;
|
||||
--subject)
|
||||
SUBJECT=$VALUE
|
||||
;;
|
||||
--smtphost)
|
||||
SMTPHOST=$VALUE
|
||||
;;
|
||||
--smtpuser)
|
||||
SMTPUSER=$VALUE
|
||||
;;
|
||||
--smtppassword)
|
||||
SMTPPASSWORD=$VALUE
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: unknown parameter \"$PARAM\""
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$MEMBER_DATA" ] ; then
|
||||
echo "parameter member-data missing"
|
||||
echo ""
|
||||
usage
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -z "$TEMPLATE" ] ; then
|
||||
echo "parameter template missing"
|
||||
echo ""
|
||||
usage
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -z "$SUBJECT" ] ; then
|
||||
echo "parameter userid missing"
|
||||
echo ""
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "MEMBER_DATA = "$MEMBER_DATA
|
||||
echo "TEMPLATE = "$TEMPLATE
|
||||
echo "SUBJECT = "$SUBJECT
|
||||
|
||||
if [ -z "$DRYRUN" ] ; then
|
||||
echo "real run"
|
||||
erb column1=Column1 column2=Column2 column3=Column3 $TEMPLATE\
|
||||
| gpg2 --batch --yes -vvv -u vorstand@wtf-eg.de \
|
||||
--no-emit-version -eas -r "42152130EE5C8BED881AB911D65BA8BC7E8B9302" \
|
||||
| swaks --to frank.landgraf@web.de \
|
||||
--from "vorstand@wtf-eg.de" \
|
||||
-tls \
|
||||
--auth LOGIN \
|
||||
--server $SMTPHOST \
|
||||
--auth-user $SMTPUSER \
|
||||
--auth-password $SMTPPASSWORD \
|
||||
--header "Subject: $SUBJECT" --body -
|
||||
else
|
||||
echo "dry run"
|
||||
erb column1=Column1 column2=Column2 column3=Column3 $TEMPLATE
|
||||
erb column1=Column1 column2=Column2 column3=Column3 $TEMPLATE|gpg2 --batch --yes -vvv -u vorstand@wtf-eg.de --no-emit-version -eas -r "42152130EE5C8BED881AB911D65BA8BC7E8B9302"
|
||||
fi
|
3
test/test-member-data.csv
Normal file
3
test/test-member-data.csv
Normal file
@ -0,0 +1,3 @@
|
||||
Line,Nick,Email,PGP,Passwort
|
||||
110,gulliver,frank.landgraf@web.de,4215 2130 EE5C 8BED 881A B911 D65B A8BC 7E8B 9302,this is not my real password
|
||||
|
|
7
test/test.erb
Normal file
7
test/test.erb
Normal file
@ -0,0 +1,7 @@
|
||||
Sehr geehrtes Mitglied <%= column1 %>,
|
||||
|
||||
Loginname: <%= column2 %>
|
||||
Passwort:<%= column3 %>
|
||||
|
||||
Mit freundlichen Grüßen,
|
||||
Bossman
|
Reference in New Issue
Block a user