===== 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