Bonsoir a tous
J'arrive a envoyer un mail avec ou sans piece jointe mais, je souhaiterais savoir comment integrer le contenu d un fichier dans le corps d un mail !!
Avez vousune piste sur la méthode ?
Bonne Soiree
Jules
Bonsoir a tous
J'arrive a envoyer un mail avec ou sans piece jointe mais, je souhaiterais savoir comment integrer le contenu d un fichier dans le corps d un mail !!
Avez vousune piste sur la méthode ?
Bonne Soiree
Jules
Salut,
Voici la piste ultime : la rfc correspondante
A+ et bon courage
PS : dans le langage que tu utilises, n'aurais-tu pas déjà une API qui t'offrirait cette fonctionnalité ?
Je ne connais pas bien Perl, mais j'ai trouvé ceci, ça devrait t'aider
K
Effectivement j utilise Mime::Lite mais je n ai pas trouve d exemple concret dans la RFC !
D'autres suggestions ?
Merci d avance
Jules
La rfc est juste une spécification du fonctionnement, au cas où tu souhaites toi même l'implémenter;
Chaque fichier joint a un "identifiant" dont tu peux te servir pour l'inclure dans le corps de ton message.
Si ton API ne te permet pas de le faire, tu seras obligé de générer toi même le contenu de l'email, et de toi même préciser ces paramètres; c'est pour ça que je t'ai donné le lien vers le RFC
K
avec en @MAIL ton texte hmtl, cela marche et j'ai testé ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 ### Create a new multipart message: $msg = MIME::Lite->new( From =>'suivi_best1@bt1sia25v3', To =>'dgabard@bouyguestelecom.fr', Subject =>'Rattrapage automatique quotidien best1', Type =>'multipart/mixed' ); ### Add parts (each "attach" has same arguments as "new"): $msg->attach( Type =>'text/html', Data =>"@MAIL" );
J'ai l'impression que le problème n'est pas tant d'inclure un pièce jointe à l'email, mais plutot d'integrer un objet ( une image par exemple ) dans le corps HTML du mail.
Par exemple :
Avec image.gif étant une image _intégrée_ à l'email, et non simplement en pièce jointe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <html><body><img src="image.gif"></body></html>
K
Effectivement merci pour vos pistes et KiLVaiDeN a raison j arrive a envoyer un mail avec une piece jointe mais ce que je voudrais c est incorporer au corps du mail le contenu du fichier au lieu de l attacher en piece jointe !!!!
Ce qui evite de devoir l ouvrir !!!!
Merci d avance Jules
Alors la doc de Mime::Lite te répondra
Ben merci pour votre aide en faite j ai fait une solution qui fonctionne mais qui n est peut etre pas la plus belle !!
Vous remarquerez que j ai conservé une piece jointe !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 sub Fonc_Pb_Switch { my @Tableau_Fichier_Prolemes; my $Lignes_Problemes; open(Fichier_Problemes,"</var/home/ju/projet_1/spartacus/prog_ok/problemes_switchs.rtf") || die ("Fichier contenant les problemes\n $! "); #On place le contenu du fichier ARP dans un tableau @Tableau_Fichier_ARP while ($Lignes_Problemes = <Fichier_Problemes> ) { push(@Tableau_Fichier_Prolemes,$Lignes_Problemes); } close Fichier_Problemes; my $Message = new MIME::Lite From =>'localhost', To =>'rappju@cic.fr', Subject =>'Probleme(s) sur les switchs.', Type =>'multipart/mixed'; ########################################### #ENVOIE le contenu du fichier rtf dans le corp du message attach $Message Type =>'TEXT', Data =>"@Tableau_Fichier_Prolemes"; #Data =>"Presence de probleme(s) sur les switchs"; ##################################### #Envoi des problemes en fichier texte attach $Message Type =>'TEXT', Data =>"@Tableau_Fichier_Prolemes"; ################################# #ENVOIE d ela piece jointe en rtf ##attach $Message ##Type =>'application/csv', Path =>'/var/home/ju/projet_1 /spartacus/prog_ok/problemes_switchs.rtf', ##Filename =>'problemes_switchs.rtf'; $Message->send; } 1;
Merci Jules
D ailleur si j ai trouve c est grace a une petite ou il y avaut @Data et la je mesuis dit mais oui un tableau !!!!!!!!
A pluche
Jules et bonne journee
As-tu regardé le lien que je t'ai mis ? Il pointe vers un exemple bien précis, celui-ci :
A partir de là, tu dois pouvoir faire ce que tu veux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Send an HTML document... with images included! $msg = MIME::Lite->new( To =>'you@yourhost.com', Subject =>'HTML with in-line images!', Type =>'multipart/related' ); $msg->attach(Type => 'text/html', Data => qq{ <body> Here's <i>my</i> image: <img src="cid:myimage.gif"> </body> } ); $msg->attach(Type => 'image/gif', Id => 'myimage.gif', Path => '/path/to/somefile.gif', ); $msg->send();
Il y a Mail::Sender aussi avec lequel on n'a pas besoin de s'embêter pour gérer le type de fichier d'une pièce jointe.
Je m'en sers beaucoup pour mon jeu et ça fonctionne très bien
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager