Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2008, 15h54   #1
Membre à l'essai
 
Inscription : février 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 66
Points : 22
Points : 22
Par défaut Envoi de mail au format HTML

Bonjour,

je cherche en envoyer via un script shell un mail au format html (comme on pourrait le faire manuellement avec Outlook ou Thunderbird).

J'ai à ma disposition un fichier html sans image.

J'ai plusieurs pistes mais je ne m'en sors pas :
1) quel outil est le plus adapté mailx, sendmail (mail ne semble pas permettre de modifier le header)?
2) Dois-je modifier (si oui comment?) le header mime en "Content-Type: text/html" ?

Merci d'avance.

T Joe
T_Joe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 17h05   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 779
Points : 7 779
1-si tu peux mais tu ne le sais pas
2-regardes cet exemple ce sera plus simple qu'une longue explication peu claire.:

L'astuce consiste a passer un echo (enfin des echo) a un tunnel vers la commande sendmail

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
# finir la mise en page avant d'envoyer le mail :
 
(
	print "<html><body><font face="courier" color="#FF0000"><b>" 
	cat $log_ko | sed -e "s/$/\\<br>/" -e "s/|/<BQ>&<BQ>/g" 
	print "</b></font><font face="courier" color="#0000FF">" 
	cat $log_ok | sed -e "s/$/\\<br>/" -e "s/|/<BQ>&<BQ>/g" 
	print "</font></body></html>" 
) >> /tmp/rapport_presencek7.htm
 
# juste pour la mise en forme colore et HTML
 
(
	echo "From: asterix@gpa.chem.corp.local"
	echo "To: etoulous"
	echo "subject: Controle de la presence des cassettes"
	echo "MIME-Version: 1.0"
	echo "Content-Type: text/html"
	echo "Content-Disposition: inline"
	cat /tmp/rapport_presencek7.htm
) | /usr/sbin/sendmail -v etoulous 2> $REP_LOG/mail_presencek7.err.$$
frp31 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 17h33   #3
Membre à l'essai
 
Inscription : février 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 66
Points : 22
Points : 22
et
Ceci répond exactement à mes attentes.

J'ai juste simplifié un peu le code car mon fichier html est déjà formaté :
Code :
1
2
3
4
5
6
7
8
9
(
	echo "From: ma_machine@a_moi"
	echo "To: adresses_de_destination"
	echo "subject: Mon sujet"
	echo "MIME-Version: 1.0"
	echo "Content-Type: text/html"
	echo "Content-Disposition: inline"
	cat /chemin/mon_fichier.html
) | /usr/sbin/sendmail adresses_de_destination
T_Joe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h22.


 
 
 
 
Partenaires

Hébergement Web