[uplug] Re: PDF-Drucker mit Wasserzeichen und anschließendem Versand per E-Mail

Manuel Dräger manuel.draeger at gmx.de
Sa Feb 22 19:43:17 CET 2014


Am 22.02.2014 17:55, schrieb Sebastian Hübner:

> Was passiert, wenn Thunderbird nicht startet? Das PDF wird dann trotzdem gelöscht. Man könnte den ExitStatus von Thunderbird benutzen und das PDF nur dann löschen, wenn Thunderbird richtig terminiert bzw überhaupt startet. Da ich mich mit Thunderbird nicht auskenne (sylpheed ist ja soo viel besser ... :) ) frage ich mich, ob es sein kann, dass Thunderbird gewisse Status-Signale weiterreicht, die man in ähnlicher Weise wie einen ExitStatus nutzen kann?
> 
> if $(thunderbird -compose "attachment=file://$FILE"); then rm ~PDF/*; else echo "Fehler beim Versenden! PDF wird nicht gelöscht"; fi

Hallo Sebastian,

ich habe das Skript jetzt mehrmals getestet, es gibt da noch
weitere unschöne Sachen, wie z.B. das das Skript weiterläuft,
wenn sich der Benutzer abmeldet. Daher hab ich noch mal mit
dem PostProcessing rumgespielt und nun eine andere Lösung
erarbeitet.

Ich hab das Sicherheitsprofil für cups wie folgt angepasst:

  Datei /etc/apparmor.d/usr.sbin.cups
    ...
    /usr/lib/cups/backend/cups-pdf flags=(complain) {
      ...
      /etc/cups/pdfmail.sh uxr,
    }

Ab sofort wird das folgende Script nach der PDF-Erstellung
aufgerufen und sorgt für den E-Mailversand:

  Datei /etc/cups/pdfmail.sh:
    #!/bin/bash
    CURRENT_PDF="${1}"
    CURRENT_DIR=`dirname $CURRENT_PDF`
    CURRENT_FILE=`basename $CURRENT_PDF`
    CURRENT_DATETIME=`date +%F_%H-%M-%S`
    ARCHIV_PDF="${CURRENT_DIR}/${CURRENT_DATETIME}_${CURRENT_FILE}"
    CURRENT_USER="${2}"
    export DISPLAY=:0.0
    export XAUTHORITY=/home/${CURRENT_USER}/.Xauthority
    export HOME=/home/${CURRENT_USER}
    /usr/bin/sudo -u ${CURRENT_USER} /usr/bin/thunderbird -compose "attachment=file://${CURRENT_PDF}" && mv "${CURRENT_PDF}" "${ARCHIV_PDF}"

Nach dem Versand wird die Datei mit Datum/Uhrzeit zur
Archivierung versehen - fertig.


Viele Grüße
Manuel



Mehr Informationen über die Mailingliste upLUG