annotate contrib/amime-receive/mlmmj-amime-receive @ 748:dfc9ab125fd4

Fix spelling of 'receive' and 'voodoo'; make mlmmj-recieve a symlink
author Chris Webb
date Sun, 03 Oct 2010 21:40:42 +1100
parents edfd37c7ec4c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
718
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
1 #!/bin/bash
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
2 #
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
3 # mlmmj-amime-receive
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
4 #
748
dfc9ab125fd4 Fix spelling of 'receive' and 'voodoo'; make mlmmj-recieve a symlink
Chris Webb
parents: 718
diff changeset
5 # Take mail from stdin, pipe it through altermime and then to mlmmj-receive
718
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
6 # needed to add footers in a MIME-aware way
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
7 #
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
8 # requires altermime, see http://www.pldaniels.com/altermime/
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
9 #
748
dfc9ab125fd4 Fix spelling of 'receive' and 'voodoo'; make mlmmj-recieve a symlink
Chris Webb
parents: 718
diff changeset
10 # just replace mlmmj-receive with mlmmj-amime-receive, e.g. in /etc/aliases:
718
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
11 # myml: "|/usr/bin/mlmmj-amime-receive -L /var/spool/mlmmj/myml/"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
12 #
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
13 # put the footer-text for the different MIME-types into
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
14 # control/amime-footer-text
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
15 # control/amime-footer-html
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
16 # control/amime-footer-base64
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
17 #
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
18 # Copyright 2008 by Gerd v. Egidy, <gerd@egidy.de>
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
19 #
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
20 # Licensed under MIT License, see LICENSE file coming with mlmmj
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
21 #
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
22
748
dfc9ab125fd4 Fix spelling of 'receive' and 'voodoo'; make mlmmj-recieve a symlink
Chris Webb
parents: 718
diff changeset
23 MLMMJRECEIVE=/usr/bin/mlmmj-receive
718
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
24 ALTERMIME=/usr/bin/altermime
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
25
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
26 # check executables
748
dfc9ab125fd4 Fix spelling of 'receive' and 'voodoo'; make mlmmj-recieve a symlink
Chris Webb
parents: 718
diff changeset
27 if ! [ -x $MLMMJRECEIVE ]; then
dfc9ab125fd4 Fix spelling of 'receive' and 'voodoo'; make mlmmj-recieve a symlink
Chris Webb
parents: 718
diff changeset
28 echo "can't find $MLMMJRECEIVE executable, aborting"
718
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
29 exit 1
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
30 fi
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
31
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
32 if ! [ -x $ALTERMIME ]; then
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
33 echo "can't find $ALTERMIME executable, aborting"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
34 exit 1
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
35 fi
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
36
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
37 # read parameters
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
38 I=1
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
39 PARAM_L=0
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
40 while [ $I -le $# ] && [ $PARAM_L == 0 ]; do
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
41 if [ "${!I}" == "-L" ]; then
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
42 PARAM_L=1
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
43 fi
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
44 I=$[$I+1]
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
45 done
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
46
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
47 if [ $PARAM_L == 1 ] && [ $I -le $# ]; then
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
48 MLPATH="${!I}"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
49 else
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
50 echo "parameter -L /path/to/listdir missing, aborting"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
51 exit 1
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
52 fi
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
53
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
54 if ! [ -d "${MLPATH}" ]; then
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
55 echo "${MLPATH} is not existing or no directory, aborting"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
56 exit 1
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
57 fi
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
58
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
59 CONTROLD="${MLPATH}/control"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
60
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
61 if ! [ -d "${CONTROLD}" ]; then
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
62 echo "${CONTROLD} is not existing or no directory, aborting"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
63 exit 1
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
64 fi
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
65
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
66 # look for footer-files and build parameters
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
67
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
68 if ! [ -f "${CONTROLD}/amime-footer-text" ]; then
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
69 echo "${CONTROLD}/amime-footer-text is not existing or no regular file, aborting"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
70 exit 1
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
71 fi
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
72
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
73 PARAM="--disclaimer=${CONTROLD}/amime-footer-text"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
74
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
75 if [ -f "${CONTROLD}/amime-footer-html" ]; then
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
76 PARAM="${PARAM} --disclaimer-html=${CONTROLD}/amime-footer-html --htmltoo --force-for-bad-html"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
77 fi
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
78
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
79 if [ -f "${CONTROLD}/amime-footer-base64" ]; then
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
80 PARAM="${PARAM} --disclaimer-b64=${CONTROLD}/amime-footer-base64"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
81 fi
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
82
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
83 PARAM="${PARAM} --altersigned --log-syslog"
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
84
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
85 # go to a dir where altermime can write it's tmp-files safely
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
86 cd $MLPATH
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
87
edfd37c7ec4c Added contrib/amime-receive (Gerd v. Egidy)
mortenp
parents:
diff changeset
88 # pipe the calls
748
dfc9ab125fd4 Fix spelling of 'receive' and 'voodoo'; make mlmmj-recieve a symlink
Chris Webb
parents: 718
diff changeset
89 $ALTERMIME --input=- ${PARAM} | $MLMMJRECEIVE "$@"