Envoyer des mails en utilisant la ligne de commande
Le service
postfix (ou
sendmail) doit tourner. Vérifier en lançant la commande (un seul des deux doit être lancé)
/etc/init.d/postfix start
Si l'on veut envoyer une pièce jointe, il faut tout d'abord l'encoder avec
uuencode. Il n'est pas forcement installé par défaut
yum install -y sharutils (base redhat)
ou
apt-get install sharutils (base debian)
$ mail root@localhost
Subject: Titre du mail
Description...
. <-- un point de fin de message
Cc:
$ mutt -s "objet du mail" adresse@monsite.org < "."
(rappelez vous le . à la fin pour finir le corp du message: < ”.” )
Email (authentification smtp, etc.)
Envoyer le contenu de fstab par exemple
mail root@localhost -s "Fichier fstab" < /etc/fstab
avec la commande
mail (et
uuencode)
tar -zcvf - /root/dossierASauver/ \
| uuencode backupdossierASauver.tar.gz \
| mail -s "objet du mail" adresse@monsite.org
avec la commande
mutt tar czfv backup.tar.gz /home/repASauver \
&& mutt -a backup.tar.gz -s "objet du mail" adresse@monsite.org < "." \
&& rm -f backup.tar.gz
Sur debian/ubuntu, il vous faut les paquets exim4 et mailx. A l'installation d'exim4, il faut spécifier qu'on veut juste envoyer des mails sans serveur de mail en local, puis préciser son nom de machine et le serveur smtp à utliser.
Pour reconfigurer exim4 si nécessaire :
dpkg-reconfigure -plow exim4-config
Ensuite, il suffit de taper :
mail -s titre_du_message adresse_email < corps_du_message
corps_du_message est un fichier texte enregistré dans votre home.
Si un mail reste dans la file d'attente mailq, on peut taper pour en savoir plus:
exim4 -Mvl <msgid>
Sources : crans.org