Blue Flower

Dans cet article, nous allons voir :

  • comment envoyer un mail en ligne de commande en utilisant le serveur smtp de google
  • comment automatiser l'envoi de cet email au boot du PC.

 

Installation de l'outil

Pour communiquer avec le serveur SMTP, nous utiliserons ssmtp : sudo apt-get install ssmtp mailutils

Configuration du serveur smtp

Il faut renseigner les paramètres de connexion au serveur SMTP. Dans l'exemple, nous utilisons le serveur SMTP de Google. Un compte Google est donc nécessaire. La configuration de l'accès au serveur SMTP se réalise dans le fichier /etc/ssmtp/ssmtp.conf.

Fichier /etc/ssmtp/ssmtp.conf : 

root=<votre email chez Google>
mailhub=smtp.googlemail.com:587
hostname=PC
FromLineOverride=YES
AuthUser=<votre email chez Google>
AuthPass=<votre mot de passe chez Google>
UseSTARTTLS=YES

  

Envoi du mail en ligne de commande

Dans cet exemple, nous envoyons dans le corps du mail l'adresse IP publique de notre box ADSL (l'option s est le sujet du mail)

curl ifconfig.me | sudo mail -s "adresse IP" adresseMailDestinataire 

 

Automatisation de l'envoi d'un email au boot du PC

Pour cela, il faut créer un script dans /etc/init.d et le déclarer dans les runlevel.

Le script sendIpByMail.sh (script devant appartenir à root et avoir le droit x) :

curl ifconfig.me | sudo mail -s "adresse IP" adresseMailDestinataire
exit 0

Déclaration de ce script dans le runlevel 2 en tant que script de démarrage avec le numéro 99 (car les scripts d'un même runlevel sont exécutés du numéro le plus petit au plus grand) : 

update-rc.d sendIpByMail.sh start 99 2 .
update-rc.d: warning: /etc/init.d/sendIpByMail.sh missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/sendIpByMail.sh ...
   /etc/rc2.d/S99sendIpByMail.sh -> ../init.d/sendIpByMail.sh

Ajouter un Commentaire


Code de sécurité
Rafraîchir