[linux-l] mutt und Anhang drucken

Frank Reker frank at reker.net
Di Feb 8 23:52:41 CET 2005


Am Tue 08. Feb 2005 08:54 +0000 schrieb Erwin Kaiser:

>> Aber wenn du sowieso alle faxe ausdrucken willst, dann schreib dir doch
>> ein procmailscript, dass das automatisch fuer dich erledigt.
>
>Das wäre tatsächlich optimal! 
>Hast Du evtl. Ideen, wie eine passende Zeile aussehen
>könnte ;-)

:0
^From:.*fax at faxpedite\.de.*
| forattach lpr

der regulaere Ausdruck mag natuerlich anders aussehen.
forattach ist ein Shellscript, dass die mail in attachments splittet,
und fuer jedes attachment das nachfolgende Kommando ausfuehrt.

Hier das Script:
----snip-----
#!/bin/bash



tfile=`mktemp /tmp/forattach_XXXXXX`
test "$tfile" || { echo "`basename $0`: error creating tempfile" >&2; exit 1; }
trap "rm -f $tfile" EXIT

cat > $tfile

xboundary="$(cat $tfile | formail -c | sed -n -e '1,/^$/p' | \
            grep -i ^Content-type | head -n 1 | tr \; '\n' | grep -i boundary)"
boundary="$(echo "$xboundary" | cut -f2 -d\")"
test -z "$boundary" && boundary="$(echo "$xboundary" | cut -f2 -d=)"
test -z "$boundary" && exit 0;

lines=$(cat $tfile | grep -n "$boundary" | cut -f1 -d: | sed -e 1,2d -e '$,$d')

for i in $lines; do
    enc="$(cat $tfile | sed -n -e "$i,/$boundary/p" | sed -e 1,1d -e '$,$d' | \
            formail -cf | sed -n -e '1,/^$/p' | grep -i ^Content-transfer-encoding |\
            cut -f2 -d: | tr -d " \t\n" | grep -i base64)"
    cat $tfile | sed -n -e "$i,/$boundary/p" | sed -e 1,1d  -e '$,$d' | \
            sed -n -e '/^$/,$p' | sed -e 1,1d | { if test "$enc"; then b64decode; \
            else cat; fi; } | eval $@
done

exit 0
----snap-----
das Kommando b64decode musst du evtl durch mmdecode, mimedecode, oder 
wie auch immer das auf deinem Rechner heissen mag, ersetzen.
Das Script ist etwas primitiv. Es erkennt keine geschachtelten 
multipart sections und kann auch kein "encoded printable" dechifrieren.
Sollte aber nicht so kompliziert sein, das zu aendern, falls es benoetigt
wird.



-- 
Don't worry be happy ...
Ciao Frank
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20050208/0861e250/attachment.sig>


Mehr Informationen über die Mailingliste linux-l