Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !


Comment envoyer un mail par SMTP en ligne de commande

Et envoyer l'IP de sa box automatiquement

Installation

Installez les paquets msmtp.

Si vous aviez déjà installé des paquets désormais inutiles, un petit rappel sur la suppression d'un paquet.

Configuration

Ne pas utiliser de commande sudo. C'est bien l'utilisateur qui envoie les mails.
nano .msmtp
account default
host smtp.monfai.fr
from prenom.nom@monfai.fr
auth off
#auth on
#si jamais auth off ne passe pas
user prenom.nom
#si votre fai vous identifie plus clairement si vous reprécisez le domaine, alors plutôt cela :
#user prenom.nom@fai.fr
password monmotdepasse
  • Dissimuler ce fichier qui contient votre mot de passe en clair
chmod 600 .msmtp

Utilisation

  • Pour envoyer le contenu d'un fichier texte comme message:
cat readme.txt | msmtp johnny@liday.ch
  • Pour envoyer un fichier binaire, ou compressé en pièce jointe :
uuencode application.zip | msmtp johnny@liday.ch

Vérification

  • Depuis votre client de messagerie, vérifiez que vous avez bien reçu le message attendu

Envoyer l'IP de sa box automatiquement

S'il vous manque GET installez le paquet GET

GET whatismyip.org
  • Cette commande renvoie des erreurs une fois sur deux, donc on va la lancer 2 ou 3 fois dans un script et récupérer l'IP dans un fichier.
nano getip
GET whatismyip.org > .myip
echo "" >> .myip
sleep 1
GET whatismyip.org >> .myip
echo "" >> .myip
sleep 1
GET whatismyip.org >> .myip
echo "" >> .myip
sh getip
cat .myip
92.122.18.135
92.122.18.135
92.122.18.135
  • On a vu cela juste avant :
cat .myip | msmtp johnny@whitehouse.gov
nano getip
...
cat .myip | msmtp johnny@whitehouse.gov
  • Rendre le script exécutable :
chmod 700 getip

Utilisation

  • Lancer le script
sh getip

Vérification

  • Depuis votre client de messagerie, vérifiez que vous avez bien reçu le message attendu, soit 3 lignes avec l'adresse IP de la maison blanche … si c'est là que votre box est branchée.

Programmation de l'envoi automatique

Le système crontab intégré à unix/linux permet une programmation simple de l'exécution de commandes et scripts.

Modification de la crontab

  • Si la crontab de l'utilisateur existe, on la redirige vers un fichier
crontab -l > cron
On évite systématique l'édition de la crontab par crontab -e, parce la perte de 50 lignes de programmation sur un serveur de production, ça fait toujours chaud aux oreilles !
nano cron
23 8,12,15,18 * * 1-5 /home/johnny/getip
# à 08:23 12:23 15:23 et 18:23 tous les jours du lundi au vendredi
# parce que les soirs et week-end je suis à la maison
# et que c'est encore plus simple de récupérer mon IP

Injection des modifications de la crontab

crontab cron

Vérification de la crontab

crontab -l
...
23 8,12,15,18 * * 1-5 /home/johnny/getip
...

Nettoyage

  • Pas de raison de laisser traîner son cron derrière soi, puisqu'on sait le recréer à volonté
rm cron
  • tutoriel/comment_envoyer_un_mail_par_smtp_en_ligne_de_commande.1250879833.txt.gz
  • Dernière modification: Le 18/04/2011, 14:50
  • (modification externe)