# HG changeset patch # User mortenp # Date 1266510115 -39600 # Node ID edfd37c7ec4cd755605caf30cbddcc0d8ecc0c87 # Parent 7e1127e22936328df99d60043e6dd7656d7168ec Added contrib/amime-receive (Gerd v. Egidy) diff -r 7e1127e22936 -r edfd37c7ec4c ChangeLog --- a/ChangeLog Thu Feb 18 21:38:12 2010 +1100 +++ b/ChangeLog Fri Feb 19 03:21:55 2010 +1100 @@ -1,3 +1,4 @@ + o Added contrib/amime-receive (Gerd v. Egidy) o Fixed memory leak in substitute_one() (Ben Schmidt) o Updated German listtexts (Christoph Wilke) o Updated TUNABLES file (Ben Schmidt) diff -r 7e1127e22936 -r edfd37c7ec4c contrib/Makefile.am --- a/contrib/Makefile.am Thu Feb 18 21:38:12 2010 +1100 +++ b/contrib/Makefile.am Fri Feb 19 03:21:55 2010 +1100 @@ -1,4 +1,4 @@ ## Process this file with automake to produce Makefile.in -EXTRA_DIST = web +EXTRA_DIST = web amime-receive SUBDIRS = recievestrip diff -r 7e1127e22936 -r edfd37c7ec4c contrib/amime-receive/mlmmj-amime-receive --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contrib/amime-receive/mlmmj-amime-receive Fri Feb 19 03:21:55 2010 +1100 @@ -0,0 +1,89 @@ +#!/bin/bash +# +# mlmmj-amime-receive +# +# Take mail from stdin, pipe it through altermime and then to mlmmj-recieve +# needed to add footers in a MIME-aware way +# +# requires altermime, see http://www.pldaniels.com/altermime/ +# +# just replace mlmmj-recieve (sic) with mlmmj-amime-receive, e.g. in /etc/aliases: +# myml: "|/usr/bin/mlmmj-amime-receive -L /var/spool/mlmmj/myml/" +# +# put the footer-text for the different MIME-types into +# control/amime-footer-text +# control/amime-footer-html +# control/amime-footer-base64 +# +# Copyright 2008 by Gerd v. Egidy, +# +# Licensed under MIT License, see LICENSE file coming with mlmmj +# + +MLMMJRECIEVE=/usr/bin/mlmmj-recieve +ALTERMIME=/usr/bin/altermime + +# check executables +if ! [ -x $MLMMJRECIEVE ]; then + echo "can't find $MLMMJRECIEVE executable, aborting" + exit 1 +fi + +if ! [ -x $ALTERMIME ]; then + echo "can't find $ALTERMIME executable, aborting" + exit 1 +fi + +# read parameters +I=1 +PARAM_L=0 +while [ $I -le $# ] && [ $PARAM_L == 0 ]; do + if [ "${!I}" == "-L" ]; then + PARAM_L=1 + fi + I=$[$I+1] +done + +if [ $PARAM_L == 1 ] && [ $I -le $# ]; then + MLPATH="${!I}" +else + echo "parameter -L /path/to/listdir missing, aborting" + exit 1 +fi + +if ! [ -d "${MLPATH}" ]; then + echo "${MLPATH} is not existing or no directory, aborting" + exit 1 +fi + +CONTROLD="${MLPATH}/control" + +if ! [ -d "${CONTROLD}" ]; then + echo "${CONTROLD} is not existing or no directory, aborting" + exit 1 +fi + +# look for footer-files and build parameters + +if ! [ -f "${CONTROLD}/amime-footer-text" ]; then + echo "${CONTROLD}/amime-footer-text is not existing or no regular file, aborting" + exit 1 +fi + +PARAM="--disclaimer=${CONTROLD}/amime-footer-text" + +if [ -f "${CONTROLD}/amime-footer-html" ]; then + PARAM="${PARAM} --disclaimer-html=${CONTROLD}/amime-footer-html --htmltoo --force-for-bad-html" +fi + +if [ -f "${CONTROLD}/amime-footer-base64" ]; then + PARAM="${PARAM} --disclaimer-b64=${CONTROLD}/amime-footer-base64" +fi + +PARAM="${PARAM} --altersigned --log-syslog" + +# go to a dir where altermime can write it's tmp-files safely +cd $MLPATH + +# pipe the calls +$ALTERMIME --input=- ${PARAM} | $MLMMJRECIEVE "$@"