Outils pour utilisateurs

Outils du site


bash:mail2doku
no way to compare when less than two revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.


bash:mail2doku [2024/02/09 17:10] (Version actuelle) – créée - modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +===== imap2doku =====
 +==== Code bash ====
  
 +Lecture de mail d'une boite IMAP pour en faire des pages/medias dokuwiki
 +
 +le crontab le lance périodiquement
 +
 +<code c>
 +#!/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
 +</code>
 +==== Page dokuwiki ====
 +En utilisant le plugin **nspages**
 +<code>
 +====== Les nouveautés ======
 +===== NEWS =====
 +Reçues sur le mail 
 +
 +<nspages :mailnews: -exclude:start -usePictures -displayModificationDates -h1 -numberedList  -reverse -sortByDate >
 +</code>
bash/mail2doku.txt · Dernière modification : 2024/02/09 17:10 de 127.0.0.1