#!/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