Envoie mail du DNS-323 (via smtp GMail)

Le but est de pouvoir envoyer un mail à partir du nas DNS-323.
Ca nous servira après pour, par example, envoyer des alertes automatiquement.
Le nas enverra un mail via les serveurs smtp de google.
Pour se faire, il faut créer une adresse mail Gmail (ex : mon_nas@gmail.com).
  • Créer un adresse gmail (ex : mon_nas@gmail.com)
  • Installer Esmtp
/# mkdir /mnt/HD_a2/SRC/esmtp
/# cd /mnt/HD_a2/SRC/esmtp
/# wget inreto.de::dns323/fun-plug/0.5/packages/esmtp-0.6.0-2.tgz
/# funpkg -i esmtp-0.6.0-2.tgz
  • Configurer Esmtp
/# vi /mnt/HD_a2/ffp/etc/esmtprc

identity mon_nas@gmail.com
        hostname smtp.gmail.com:587
        username "mon_nas@gmail.com"
        password "password"
        starttls required
        mda "/ffp/bin/procmail -d %T"

/# mkdir /mnt/HD_a2/.authenticate
/# chmod 700 /mnt/HD_a2/.authenticate
/# curl http://curl.haxx.se/ca/cacert.pem >/mnt/HD_a2/.authenticate/ca.pem
/# chmod 600 /mnt/HD_a2/.authenticate/ca.pem
  • Création des certificats nécessaire au boot du nas
/# vi /mnt/HD_a2/ffp/start/authenticate_gmail.sh

#!/ffp/bin/sh

mkdir -p /home/root/.authenticate
chmod 0700 /home/root/.authenticate
cp /mnt/HD_a2/.authenticate/ca.pem  /home/root/.authenticate
chmod 0600 /home/root/.authenticate/ca.pem

mkdir -p /home/nobody/.authenticate
chmod 700 /home/nobody/.authenticate
cp /mnt/HD_a2/.authenticate/ca.pem  /home/nobody/.authenticate
chmod 600 /home/nobody/.authenticate/ca.pem

# Si utilisateur autre que nobody (user:group)
mkdir -p /home/ftp/.authenticate
chmod 700 /home/ftp/.authenticate
cp /mnt/HD_a2/.authenticate/ca.pem  /home/ftp/.authenticate
chmod 600 /home/ftp/.authenticate/ca.pem
chown -R user:group /home/ftp/.authenticate

/# chmod +x /mnt/HD_a2/ffp/start/authenticate_gmail.sh
/# /mnt/HD_a2/ffp/start/authenticate_gmail.sh
  • Création du script d'envoie de mail
/# vi /ffp/bin/send-gmail.sh

################################################################
#
# application name: send-gmail.sh
# other files: /ffp/bin/esmtp

# Author: OdE
# Version : 1.2 - 04/01/2012
################################################################

#!/ffp/bin/sh

NAIL=/ffp/bin/esmtp
SUBJECT="You have a message... :o)"
FROM_ADDR="mon_nas@gmail.com"
TO_ADDR="adresse_pa_rdefaulr"
TMPFILE=`mktemp -t tmp_send-gmail.XXXXXXXXXXXXX`

while getopts t:f:s name ## les options acceptant un paramètres sont suivies de ":"
do
  case $name in
    t)
      TO_ADDR="$OPTARG"
      ;;
   f)
      FROM_ADDR="$OPTARG"
      ;;
    s)
      SUBJECT="$OPTARG"
      ;;
    ?)
      printf "Usage: %s: [-f from@send] [-t to@dest] [-s subject] message\n" $0
      exit 2
      ;;
    esac
done

#echo "from=$FROM_ADDR"
#echo "to=$TO_ADDR"
#echo "subject=$SUBJECT"

shift $(($OPTIND -1))
#printf "Arguments restants : %s\n" "$*"

echo "To: $TO_ADDR
Subject: $SUBJECT
From: $FROM_ADDR
$*" >$TMPFILE
$NAIL -tv $TO_ADDR < $TMPFILE
rm $TMPFILE

/# chmod +x /ffp/bin/send-gmail.sh
/# send-gmail.sh -f mon_nas@gmail.com -t destinataire@test.com "Ceci est un test"