Cette page est en cours de rédaction.
Apportez votre aide…
Apportez votre aide…
Ceci est une ancienne révision du document !
Comment envoyer l’adresse IP de sa box automatiquement par courriel (SMTP) en ligne de commande ?
Envoyer un mail par SMTP en ligne de commande
Installation
Si vous aviez déjà installé des paquets désormais inutiles, un petit rappel sur la suppression d'un paquet.
Configuration
- Créez et ouvrez le fichier ~/.msmtprc (dans votre dossier personnel).
Ne pas utiliser de commande sudo. C'est bien l'utilisateur qui envoie les mails.
nano ~/.msmtprc
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 ~/.msmtprc
Configurations spécifiques (en fin de tuto)
- fichier .msmtprc pour gmail.
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
Installation
S'il vous manque GET installez le paquet GET
Récupérer l'IP externe de sa box
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
Envoyer son IP de box à son courriel au bureau
- On a vu cela juste avant :
cat ~/.myip | msmtp johnny@whitehouse.gov
Automatiser l'envoi de son IP de box vers le bureau
- Modifier le fichier ~/getip pour qu'il intègre la commande msmtp à la dernière ligne:
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
Par la crontab
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ématiquement l'édition par la commande crontab -e, parce que la perte de 50 lignes de programmation sur un serveur de production, ça fait toujours chaud aux oreilles !
- Puis on modifie/crée le fichier cron en y ajoutant notre ligne de programmation :
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
- Créer le fichier cron ne suffit pas, il faut encore l'injecter dans le système 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
Remarques :
- Si l'envoi répété de l'IP sature votre boîte de courriel, à vous de modifier la programmation
- la configuration de msmtp peut être beaucoup plus pointue, man et documentation peuvent vous aider.
Configuration particulières
gmail
~/.msmtprc
account default tls on host smtp.gmail.com from nom_user@gmail.com auth on user nom_user password password_user tls_starttls off tls_certcheck off
Références
- Le site officiel de msmtp : http://msmtp.sourceforge.net/