Envoyer des courriels avec pièce-jointe en ligne de commande
J’ai corrompu bêtement mon fichier /etc/sudoers en l’ouvrant avec vi au lieu de visudo.
Pour m’en sortir j’ai dû rapatrier un autre fichier /etc/sudoers issue d’une même version d’install que la mienne via un courriel.
Du coup voici ce que j’ai fait, plus quelques bonus:
Voici quelques méthodes pour envoyer des mails en ligne de commande.
Prérequis : pour envoyer des courriels vers une adresse Internet, vous devez avoir installé et configuré un serveur de messagerie, comme Postfix par exemple.
Exemples : test@test.fr est l’adresse courriel utilisée pour les exemples ci-dessous. Remplacez-la par la votre adresse courriel.
Envoi de courriels simples
Envoi rapide d’un courriel
Ouvrez un Terminal et tapez :
echo "Bienvenue sur starmate.fr." | mail -s "Bienvenue" test@test.fr
L’option « -s » permet d’indiquer le sujet du message.
Envoi du contenu d’un fichier texte par courriel
mail -s "Contenu du fichier starmate.txt" test@test.fr < starmate.txt
Envoi de courriels avec pièces jointes
Le premier réflexe serait de taper une commande de ce type :
mail -s "sudoers" test@test.fr < /etc/sudoers
Mais ceci ne fonctionnera pas. L’envoi de fichiers binaires (donc autres que des fichiers textes) en pièce jointe nécessite un encodage, par exemple de type MIME.
Mutt est un client courriel en mode texte qui utilise ce type d’encodage.
Envoi d’un courriel avec pièce jointe
echo "Ci-joint le fichier /etc/sudoers" | mutt -s "sudoers" -a /etc/sudoers -- test@test.fr
La même chose sans texte d’explication :
echo | mutt -s "Sudoers" -a /etc/sudoers -- test@test.fr
ou
mutt -s "Sudoers" -a /etc/sudoers -- test@test.fr < /dev/null
Envoi d’un courriel avec plusieurs pièces jointes :
echo | mutt -s "sudoers et passwd" -a /etc/sudoers /etc/passwd -- test@test.fr
Envoyer tous les fichiers jpg de mon répertoire courant par courriel :
echo | mutt -s "Mes Photos" -a *.jpg -- test@test.fr
Envoyer tous les fichiers jpg par courriel avec le contenu d’un fichier texte en corps de message :
mutt -s "Ma voiture" -a *.jpg -- test@test.fr < message.txt