===== imap2doku ===== ==== Code bash ==== Lecture de mail d'une boite IMAP pour en faire des pages/medias dokuwiki le crontab le lance périodiquement #!/bin/bash # lecture d'une boite IMAP et fabrication de page pour dokuwiki # gepeto@du-libre.org 15/5/2021 # # utilise mpack # #set -x BOITE="/var/lib/nethserver/vmail/boite-bot@du-libre.xyz/Maildir/cur" BOITELU="/var/lib/nethserver/vmail/boite-bot@du-libre.xyz/Maildir/.LU/cur" REPPAGE="/var/lib/nethserver/vhost/le_dokuwiki/data/pages/mailnews" REPMEDIA="/var/lib/nethserver/vhost/le_dokuwiki/data/media/mailnews" cd /tmp export IFS=$'\n' for i in `ls -1 $BOITE` do echo $i mkdir numpack$$ mkdir numpack$$/mesg cd numpack$$ cp $BOITE/$i . NOMCOURT=`echo "$i" | awk -F"," '{ print $1 }'` # recuperer sujet date pour fabriquer fichier texte pour dokuwiki SUBJECT=`grep "Subject:" $NOMCOURT* | grep -v "h=Date" ` DATE=`grep "Date:" $NOMCOURT* | grep -v "h=" | awk '{ print $3 "-" $4 "-" $5 "_" $6 $7; exit }' | tr -t [:upper:] [:lower:] | tr ":+" "--"` if [ -s "$SUBJECT" ] ;then echo "===== " $DATE " =====" > ./mesg/$DATE.txt else echo -n "$SUBJECT" | sed -e 's/Subject:/=====/' > ./mesg/$DATE.txt echo "=====" >> ./mesg/$DATE.txt echo $DATE >> ./mesg/$DATE.txt fi cd mesg cat ../$NOMCOURT* | munpack echo "" >> $DATE.txt cat *.desc >> $DATE.txt # medias # tout en minus # et avec des extentions valables for name in `ls -1 2>/dev/null | grep -v $0` do file_name=`echo $name|cut -d. -f1 | tr -t [:upper:] [:lower:] ` file_ext=`echo $name |cut -d. -f2-3 | cut -c1-3 | tr -t [:upper:] [:lower:]` mv $name $file_name.$file_ext done # si markdown if [ -f *.md ];then cat *.md >> $DATE.txt ;fi # imagess for j in `ls -1 *.png *jpg 2>/dev/null ` ;do echo '' >> $DATE.txt echo '{{:mailnews:fluxon:'$j'?300|}}' >> $DATE.txt mv $j $REPMEDIA done # sons et autres for j in `ls -1 *.mp3 *.ogg *.fla *.wav *.pdf *.doc 2>/dev/null` ;do echo '' >> $DATE.txt echo '{{:mailnews:fluxon:'$j'|}}' >> $DATE.txt mv $j $REPMEDIA done # mettre la page en place et le message en LU mv $DATE.txt $REPPAGE # menage cd /tmp rm -rf numpack$$ mv $BOITE/$i $BOITELU done chown -R dom:apache $REPPAGE $REPMEDIA ==== Page dokuwiki ==== En utilisant le plugin **nspages** ====== Les nouveautés ====== ===== NEWS ===== Reçues sur le mail