All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Gerd v. Egidy" <lists@egidy.de>
To: mlmmj@mlmmj.org
Subject: [PATCH] add MIME-aware footers
Date: Thu, 18 Feb 2010 15:30:24 +0000	[thread overview]
Message-ID: <201002181630.24401.lists@egidy.de> (raw)
In-Reply-To: <200812140123.13634.lists@egidy.de>

[-- Attachment #1: Type: text/plain, Size: 1080 bytes --]

Hi Morten,

this patch has already been sent in dec 2008 and jan 2010 to this ml but was 
not yet applied. I guess it was forgotten. You said something about pestering 
you until you commited it. So here I am...

The patch allows adding footers to different MIME-types. It uses altermime to 
add the footers before giving the mail to the regular mlmmj-functions. Mlmmj 
itself doesn't need to be changed to use this.

How to use it:

- install altermime to /usr/bin/altermime
- copy the mlmmj-amime-receive from the contrib-dir into /usr/bin
- put the footer-text for the different MIME-types into 
control/amime-footer-text
control/amime-footer-html
control/amime-footer-base64
- replace mlmmj-recieve with mlmmj-amime-receive in /etc/aliases, e.g.
myml:   "|/usr/bin/mlmmj-amime-receive -L /var/spool/mlmmj/myml/"
watch out for recieve vs. receive...
- newaliases

If this patch is not acceptable in its current form or missing something 
please speak up.

Kind regards,

Gerd

-- 
Address (better: trap) for people I really don't want to get mail from:
jonas@cactusamerica.com

[-- Attachment #2: mlmmj-amime.patch --]
[-- Type: text/x-patch, Size: 2930 bytes --]

diff -r -u -N mlmmj-1.2.16-RC1.orig/contrib/Makefile.am mlmmj-1.2.16-RC1/contrib/Makefile.am
--- mlmmj-1.2.16-RC1.orig/contrib/Makefile.am	2008-10-30 21:06:16.000000000 +0100
+++ mlmmj-1.2.16-RC1/contrib/Makefile.am	2008-12-13 23:39:33.000000000 +0100
@@ -2,3 +2,5 @@
 
 EXTRA_DIST = web
 SUBDIRS = recievestrip
+
+bin_SCRIPTS = mlmmj-amime-receive
diff -r -u -N mlmmj-1.2.16-RC1.orig/contrib/mlmmj-amime-receive mlmmj-1.2.16-RC1/contrib/mlmmj-amime-receive
--- mlmmj-1.2.16-RC1.orig/contrib/mlmmj-amime-receive	1970-01-01 01:00:00.000000000 +0100
+++ mlmmj-1.2.16-RC1/contrib/mlmmj-amime-receive	2008-12-13 23:23:23.000000000 +0100
@@ -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, <gerd@egidy.de>
+#
+# 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 "$@"

  parent reply	other threads:[~2010-02-18 15:30 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-14  0:23 [PATCH] add MIME-aware footers Gerd v. Egidy
2008-12-14 17:25 ` Franky Van Liedekerke
2010-01-26 15:17 ` Gerd v. Egidy
2010-02-18 15:30 ` Gerd v. Egidy [this message]
2010-02-18 16:25 ` Morten Shearman Kirkegaard
2010-02-18 17:01 ` Gerd v. Egidy
2010-02-18 17:22 ` Morten Shearman Kirkegaard
2010-02-18 17:54 ` Mads Martin Jørgensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201002181630.24401.lists@egidy.de \
    --to=lists@egidy.de \
    --cc=mlmmj@mlmmj.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.