Dans mon container je lance toute les x minutes getmail par cette commande
#!/bin/shTIMECRON1=${TIMECRON:-300}while :
do
getmail --getmaildir=/etc/mail2print --rcfile=getmail.conf
sh /bin/printmail.sh
sleep $TIMECRON1done
getmail "copie" les mails dans le répertoire Mail/new, efface le mail de INBOX pour le copier dans INBOX.INBOX.archives
Ensuite le script suivant extrait les fichiers joints, lance l'impression et fait le ménage dans les répertoires.
#!/bin/bash# ParametersMAILDIR=/home/mail2print/Mail
LOGFILE=/var/log/mail/mail2print.log
ATTACH_DIR=/home/mail2print/Mail/attachments
PRINTER=${PRINTER}if[ -d ${MAILDIR}/new ]thenCOUNT=`ls ${MAILDIR}/new | wc -l`if[${COUNT} -ne 0]thenfor i in ${MAILDIR}/new/*
do#echo "[printmail] Processing : $i" | tee -a ${LOGFILE}
uudeview $i -iqn -p ${ATTACH_DIR}/
# process file attachments with spacecd${ATTACH_DIR}NBATTACH=`ls ${ATTACH_DIR}| wc -l`if[${NBATTACH} -ne 0]thenfor e in ./*
doa=`echo$e| tr "[:blank:]""_"`if[$? -eq 0]then
mv "$e""$a"fidonefor f in *.PDF
do
mv $f${f%.*}.pdf
done# end of patch#echo "[printmail] Printing PDFs" | tee -a ${LOGFILE}for x in ${ATTACH_DIR}/*.pdf
do#echo "[printmail] Printing : $x" | tee -a ${LOGFILE}
rlpr --printer=${PRINTER}$x#echo "[printmail] Deleting file : $x" | tee -a ${LOGFILE}
rm -f $x| tee -a ${LOGFILE}done#echo "[printmail] Clean up and remove any other attachments" | tee -a ${LOGFILE}for y in ${ATTACH_DIR}/*
do
rm -f $ydonefi# # delete mail#echo "[printmail] Deleting mail : $i" | tee -a ${LOGFILE}
rm $i| tee -a ${LOGFILE}donefifi
Faut que j'intègre la suppression du fichier log tout les x jours et éventuellement une purge du dossier INBOX.INBOX.archives tout les x mois.
Au final j'utilise un seul programme getmail totalement intégré au système. Je vais voir pour publier tout ça sur docker hub et github.
[^] # Re: utiliser les APIs et les protocoles qui vont bien
Posté par Philippe M (site web personnel) . En réponse au message Imprimer une pièce jointe automatiquement en cli. Évalué à 4. Dernière modification le 22 octobre 2021 à 11:19.
Nikel avec getmail
fichier de config
Dans mon container je lance toute les x minutes getmail par cette commande
getmail "copie" les mails dans le répertoire Mail/new, efface le mail de INBOX pour le copier dans INBOX.INBOX.archives
Ensuite le script suivant extrait les fichiers joints, lance l'impression et fait le ménage dans les répertoires.
Faut que j'intègre la suppression du fichier log tout les x jours et éventuellement une purge du dossier INBOX.INBOX.archives tout les x mois.
Au final j'utilise un seul programme getmail totalement intégré au système. Je vais voir pour publier tout ça sur docker hub et github.
Born to Kill EndUser !