diff options
author | Erich Eckner <git@eckner.net> | 2016-05-03 15:20:26 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2016-05-03 15:22:31 +0200 |
commit | 6907ef64f2bfe2c2a72fe403f2a626e714ecf98f (patch) | |
tree | c15c10a0358f420f68da0fa467b2617843e9a335 /sendmailadvanced | |
parent | 558eb3ebdd9f6b8f1256d514b455defbc6ab09a0 (diff) | |
download | sendmailadvanced-6907ef64f2bfe2c2a72fe403f2a626e714ecf98f.tar.xz |
Makefile, manpage neu, neue Versionv1.0.6
Diffstat (limited to 'sendmailadvanced')
-rwxr-xr-x | sendmailadvanced | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/sendmailadvanced b/sendmailadvanced deleted file mode 100755 index c1a6ef0..0000000 --- a/sendmailadvanced +++ /dev/null @@ -1,186 +0,0 @@ -#!/bin/bash - -verwendung() { - >&2 echo 'sendmailadvanced [(-h|--hook) hook] [(-i|--inline) file | -t|--no-inline] [-e|--[no-]encrypt] [-s|--[no-]stamp]' - >&2 echo ' -h|--hook: activate hook' - >&2 echo ' -i|--inline: enhance email file in situ' - >&2 echo ' "--inline -" has the same effect as "-t"' - >&2 echo ' conflicts with -t|--no-inline' - >&2 echo ' -t|--no-inline: enhance email from stdin to stdout' - >&2 echo ' conflicts with -i|--inline' - >&2 echo ' -e|--[no-]encrypt: do (not) encrypt' - >&2 echo ' -s|--[no-]stamp: do (not) stamp' - exit 1 -} - -stempeln() { - oldIFS="${IFS}" - - IFS=',' - for adressat in ${adressatenString} - do - if [[ "${adressat}" == *"<"*">"* ]] - then - adressat="${adressat#*<}" - adressat="${adressat%>*}" - fi - adressat="$( - echo "${adressat}" | \ - tr -d "[:space:]" - )" - echo "${adressat}" | grep -q "\S" || continue - hashcash -b ${hashcash_bits} -Xm "${adressat}" - done - - adressatenString="" - - IFS="${oldIFS}" -} - -datei="" -encrypt=true -stamp=true - -dForced=false -eForced=false -sForced=false - -if [ -x /etc/sendmailadvanced.conf ] -then - . /etc/sendmailadvanced.conf -else - for konfig in $(readlink -f "$0").conf $(find . -name sendmailadvanced.conf 2> /dev/null) - do - [ -x "${konfig}" ] || continue - . "${konfig}" - break - done -fi - -gpg --list-keys "${gpg_recipient}" &> /dev/null || encrypt=false -which hashcash &> /dev/null || stamp=false - -eval set -- "$(getopt -o eh:i:st --long encrypt,no-encrypt,hook:,inline:,no-inline,stamp,no-stamp -n "$(basename "$0")" -- "$@" || echo verwendung)" - -while true -do - case "$1" in - -h|--hook) - shift - hooks[${#hooks[@]}]="$1" - ;; - -i|--inline) - ${dForced} && verwendung - shift - datei="$1" - [ "${datei}" == "-" ] && datei="" - dForced=true - ;; - -t|--no-inline) - ${dForced} && verwendung - datei="" - dForced=true - ;; - -e|--encrypt) - ${eForced} && verwendung - encrypt=true - eForced=true - ;; - --no-encrypt) - ${eForced} && verwendung - encrypt=false - eForced=true - ;; - -s|--stamp) - ${sForced} && verwendung - stamp=true - sForced=true - ;; - --no-stamp) - ${sForced} && verwendung - stamp=false - sForced=true - ;; - --) - shift - break - ;; - *) - >&2 echo "FEHLER: Verstehe Option \"$1\" doch nicht! Ich beende." - verwendung - ;; - esac - shift -done - -[ $# -ne 0 ] && verwendung - -MAILER="cantfind" -for executable in sendmail msmtp -do - for prefix in /usr/bin /usr/sbin /bin /sbin - do - [ "${MAILER}" == "cantfind" ] && [ -x ${prefix}/${executable} ] && MAILER="${prefix}/${executable}" - done -done - -if [ -z "${datei}" ] && [ "${MAILER}" == "cantfind" ] -then - >&2 echo "ERROR: Can't find suitable mailer." - exit 1 -fi - -( - [ -z "${datei}" ] && cat || cat "${datei}" -) | \ -( - IFS='' - adressatenString="" - adressatenSammeln=false - while read -r zeile - do - echo "${zeile}" | grep -q "\S" || break - s="${zeile}" - if [ "${s:0:3}" == "To:" ] || [ "${s:0:3}" == "Cc:" ] - then - adressatenSammeln=true - s=" ,${s:4}" - fi - if [ ! "${s:0:1}" == " " ] - then - ${adressatenSammeln} && ${stamp} && stempeln - adressatenSammeln=false - fi - ${adressatenSammeln} && adressatenString="${adressatenString}${s}" - echo "${zeile}" - done - - ${stamp} && stempeln - echo "${zeile}" - - ( - for hookParam in "${hooks[@]}" - do - body_header_hook "${hookParam}" - done - cat - for hookParam in "${hooks[@]}" - do - body_footer_hook "${hookParam}" - done - ) | \ - ( - ${encrypt} && gpg -e -a -s -r ${gpg_recipient} || cat - ) -) | \ -( - if [ -z "${datei}" ] - then - ${MAILER} -t - else - tmpFile="$(mktemp)" - cat > "${tmpFile}" - cat "${tmpFile}" > "${datei}" - rm -f "${tmpFile}" - fi -) |