Envoie de mail autonome (script)
Ce post sert un peut de préface au prochain car il n’a pas d’application directe. Cela pourra cependant vous être utile si vous vous amusez parfois à faire des scripts en bash.
Effectivement, le sujet de ce post est de pouvoir inclure dans un script de votre composition l’envoie d’information par mail et ce sans que rien n’ai été configuré sur la machine. Comment cela se fait? par un petit script trouvé sur un forum (je remercie l’auteur si il passe par là…) qui ouvre directement une connexion telnet vers un serveur SMTP et qui ensuite effectue la routine nécessaire à l’envoie…
Le script complet se trouve à la fin du post, on identifier 3 parties, détaillons les un peux.
La première ligne vous l’aurez reconnue, indique que c’est un script à lancer avec bash, viens ensuite la déclaration de 4 variables avec des valeurs qui auront été passés en argument au script et la suite, c’est la routine nécessaire afin d’envoyer un mail à un serveur SMTP… Je ne la détail pas, rien d’intéressant pour notre cas.
Passons maintenant à l’utilisation de notre script. Celle-ci est simple mais requière quand même des explications. Dans votre script d’appel, au moment ou vous souhaitez envoyer le mail, placez la ligne suivante :
./send_myemail.sh vous@gmail.com l_autre@gmail.com “le sujet” “le corps du message” | telnet le_serveur_smtp 25
Premièrement on appel le script en spécifiant qu’il se trouve dans le même dossier. Le deuxième argument est l’adresse qui sera spécifiée comme adresse de l’expéditeur, le troisième argument est l’adresse du destinataire (les deux peuvent être identiques). Le premier argument entre guillemets sera le sujet du mail et le deuxième le corps du message. À noter que vous pouvez mettre le nom d’un fichier pour corps du message. Les deux derniers arguments sont le serveur SMTP que vous utilisez et son port d’écoute. N’oubliez pas évidemment de rendre le scripte send_myemail.sh exécutable.
Et voilà, en espérant que ça vous sera utile…
————————– send_myemail.sh ————————–
#!/bin/bash
FROM=”$1″
TO=”$2″
SUBJECT=”$3″
BODY=”$4″
echo HELO ‘hostname’
sleep 1
echo “MAIL FROM:<”$FROM”>”
sleep 1
echo “RCPT TO:<”$TO”>”
sleep 1
echo DATA
echo Subject: $SUBJECT\r
echo
cat $BODY
echo .
sleep 1
echo quit
Vendredi 8 février 2008 à 20:41
[...] Linuxiens Our tricks, but just another weblog for linux « Envoie de mail autonome (script) [...]