Sous linux, il existe une solution simple, en utilisant l’utilitaire "metasend". Il convient pour cela de créer un fichier html (ex : mail.html) contenant le corps du message et référençant les images via un id. Par exemple :
<html>
<body>
Voici une image : <img src='cid:id_001.gif'>
</body>
</html>On utilise alors "metasend" pour envoyer le message comme suit :
metasend -b \
-F from@domewhere.com \
-t someone@somewhere.com \
-s "sujet du message" \
-/ related \
-m text/html -f mail.html \
-n -m "image/gif" -f image1.gif -i '<id_001.gif>'Explication des options (voir ici) :
- -b indique que metasend fontionne en mode batch
- -F adresse de l’émetteur du mail
- -t adresse du destinataire
- -s sujet du message
- -/ indique que le mode d’envoi MIME est "related" (ie. plusieurs pièces jointes formant un ensemble)
- -m indique le type de la première pièce jointe (text/html)
- -f nom du premier fichier à joindre
- -n indique que l’on passe à la seconde pièce jointe
- -m donne son type (image/gif)
- -f nom du second fichier à joindre
- -i précise l’ID de l’objet (permet la référence href dans le corps du mail)
Cette dernière ligne (-n .../...) peut être répétée autant de fois qu’il y a d’images à joindre, en utilisant à chaque fois un Id différent.
Remarque : le type indiqué doit refléter le véritable type de l’image sous peine de ne pas pouvoir afficher cette dernière dans certains cas (ex : Internet Explorer en consultation de Gmail).
Suivre ce site :