<?xml 
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>6tech, la solution webcreation</title>
	<link>http://6tech.net/</link>
	
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>




<item xml:lang="fr">
		<title>Mail HTML en image</title>
		<link>http://www.6tech.net/Mail-HTML-en-image.html</link>
		<guid isPermaLink="true">http://www.6tech.net/Mail-HTML-en-image.html</guid>
		<dc:date>2008-04-08T21:22:35Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>


		<dc:subject>PHP</dc:subject>
		<dc:subject>Mail</dc:subject>

		<description>Il arrive parfois de vouloir envoyer un mail en HTML et d'y incorporer des images. G&#233;n&#233;ralement, il suffit de placer l'adresse absolue de l'image dans le tag correspondant. Cependant, il peut &#234;tre n&#233;cessaire de lier l'image dans le mail, pour par exemple pouvoir relire le mail hors connexion. Les diff&#233;rentes composantes d'un mail Dans un mail il y a 3 grosses parties : Les ent&#234;tes qui indiquent ce que contient le mail, qui est le destinataire, qui est l'envoyeur, &#224; qui faut il r&#233;pondre, &#8230;. Le (...)

-
&lt;a href="http://www.6tech.net/-Tutoriaux-.html" rel="directory"&gt;Tutoriaux&lt;/a&gt;

/ 
&lt;a href="http://www.6tech.net/+-PHP-+.html" rel="tag"&gt;PHP&lt;/a&gt;, 
&lt;a href="http://www.6tech.net/+-Mail-+.html" rel="tag"&gt;Mail&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;div class=&quot;cs_sommaire cs_sommaire_avec_fond&quot; id=&quot;outil_sommaire&quot;&gt; &lt;div class=&quot;cs_sommaire_inner&quot;&gt; &lt;div class=&quot;cs_sommaire_titre_avec_fond&quot;&gt; Sommaire &lt;/div&gt; &lt;ul&gt; &lt;li&gt;&lt;a title=&quot;Le d&#233;limiteur&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24#outil_sommaire_0&quot;&gt;Le d&#233;limiteur&lt;/a&gt;, p1&lt;/li&gt;&lt;li&gt;&lt;a title=&quot;Les ent&#234;tes&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24#outil_sommaire_1&quot;&gt;Les ent&#234;tes&lt;/a&gt;, p1&lt;/li&gt;&lt;li&gt;&lt;a title=&quot;R&#233;f&#233;rencer les images dans le mail&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24#outil_sommaire_2&quot;&gt;R&#233;f&#233;rencer les images dans (&#8230;)&lt;/a&gt;, p1&lt;/li&gt;&lt;li&gt;&lt;a title=&quot;Renseigner le corps du message&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24&amp;artpage=2-3#outil_sommaire_3&quot;&gt;Renseigner le corps du (&#8230;)&lt;/a&gt;, p2&lt;/li&gt;&lt;li&gt;&lt;a title=&quot;Attacher les images&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24&amp;artpage=2-3#outil_sommaire_4&quot;&gt;Attacher les images&lt;/a&gt;, p2&lt;/li&gt;&lt;li&gt;&lt;a title=&quot;Exemple&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24&amp;artpage=3-3#outil_sommaire_5&quot;&gt;Exemple&lt;/a&gt;, p3&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt;&lt;div id='decoupe_haut' class='pagination decoupe_haut'&gt;
&lt;img class=&quot;no_image_filtrer&quot; alt=&quot;Page pr&#233;c&#233;dente&quot; title=&quot;Page pr&#233;c&#233;dente&quot; src=&quot;http://www.6tech.net/plugins/auto/couteau_suisse/img/decoupe/precedent_off.gif&quot;/&gt; &lt;span class=&quot;cs_pagination_off&quot;&gt;1&lt;/span&gt; &lt;a title=&quot;Page 2 : Renseigner le corps du message&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24&amp;artpage=2-3&quot;&gt;2&lt;/a&gt; &lt;a title=&quot;Page 3 : Exemple&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24&amp;artpage=3-3&quot;&gt;3&lt;/a&gt; &lt;a href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24&amp;artpage=2-3&quot;&gt;&lt;img class=&quot;no_image_filtrer&quot; alt=&quot;Page suivante&quot; title=&quot;Page suivante&quot; src=&quot;http://www.6tech.net/plugins/auto/couteau_suisse/img/decoupe/suivant.gif&quot;/&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Il arrive parfois de vouloir envoyer un mail en HTML et d'y incorporer des images. G&#233;n&#233;ralement, il suffit de placer l'adresse absolue de l'image dans le tag &lt;img&gt; correspondant. Cependant, il peut &#234;tre n&#233;cessaire de lier l'image dans le mail, pour par exemple pouvoir relire le mail hors connexion.&lt;/p&gt; &lt;p&gt;&lt;strong&gt; Les diff&#233;rentes composantes d'un mail &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Dans un mail il y a 3 grosses parties :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Les ent&#234;tes qui indiquent ce que contient le mail, qui est le destinataire, qui est l'envoyeur, &#224; qui faut il r&#233;pondre, &#8230;.&lt;/li&gt;&lt;li&gt; Le corps du message ( qu'il soit en HTML ou en texte simple )&lt;/li&gt;&lt;li&gt; Les fichiers joins ( images, documents, &#8230;) &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Ces trois parties sont s&#233;par&#233;es par un d&#233;limiteur qu'il convient de renseigner dans les ent&#234;tes du mail.&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_0&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Le d&#233;limiteur&lt;/h3&gt; &lt;p&gt;Il convient d'utiliser une s&#233;quence difficile &#224; retrouver dans le reste du mail ( de fa&#231;on &#224; ne pas confondre une occurrence d'un texte avec le d&#233;limiteur ). On va le d&#233;finir de la fa&#231;on suivante et r&#233;cup&#233;rer un d&#233;limiteur de 32 caract&#232;res.&lt;/p&gt; &lt;p&gt;&lt;span class='csfoo htmla'&gt;&lt;/span&gt;&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&lt;?php&lt;br /&gt; $delimiteur &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'--'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'---='&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;md5&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;( &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;uniqid&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;( &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;rand&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;() ) );&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;span class='csfoo htmlb'&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt; J'ai du couper les 4 tirets du d&#233;limiteur pour contrer les raccourci typographiques de spip :) &lt;/i&gt;&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_1&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Les ent&#234;tes&lt;/h3&gt; &lt;p&gt;Les ent&#234;tes sont importantes, une erreur bien plac&#233;e pourrait vous donner l'envie de vous arracher les cheveux pendant 2 semaines sans jamais trouver la source de l'erreur.&lt;/p&gt; &lt;p&gt;On va d&#233;finir le type &lt;a href='http://fr.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions' class='spip_out'&gt;MIME&lt;/a&gt; du message, , le sous type ou la nature du contenu du mail ( pr&#233;sentement &#171; related &#187;&lt;span class='csfoo htmla'&gt;&lt;/span&gt; [&lt;a href='#nb1' class='spip_note' rel='footnote' title='permet de sp&#233;cifier que les diff&#233;rentes parties du message devrait &#234;tre (...)' id='nh1'&gt;1&lt;/a&gt;]&lt;span class='csfoo htmlb'&gt;&lt;/span&gt; ), l'adresse &#224; laquelle r&#233;pondre et l'envoyeur. On d&#233;finit &#233;galement quel sera la s&#233;quence du d&#233;limiteur servant &#224; d&#233;partager les diff&#233;rentes informations du mail.&lt;/p&gt; &lt;p&gt;&lt;span class='csfoo htmla'&gt;&lt;/span&gt;&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&lt;?php&lt;br /&gt; $headers &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;MIME-Version: 1.0\r\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$headers &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.= &lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;Content-Type: multipart/related; boundary=\&quot;$delimiteur\&quot;\r\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$headers &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.= &lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;Reply-to: $from\r\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$headers &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.= &lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;From: $from\r\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$headers &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.= &lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;\r\n&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;span class='csfoo htmlb'&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;( ceci est une liste non exhaustive d'ent&#234;tes )&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_2&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;R&#233;f&#233;rencer les images dans le mail&lt;/h3&gt; &lt;p&gt;Afin d'ins&#233;rer les images dans le mail, il convient d'assigner &#224; chaque image une r&#233;f&#233;rence et indiquer dans le texte la r&#233;f&#233;rence. On appellera cette r&#233;f&#233;rence le &#171; CID &#187;&lt;span class='csfoo htmla'&gt;&lt;/span&gt; [&lt;a href='#nb2' class='spip_note' rel='footnote' title='Content-ID' id='nh2'&gt;2&lt;/a&gt;]&lt;span class='csfoo htmlb'&gt;&lt;/span&gt;.&lt;/p&gt; &lt;p&gt;On pars du principe que vous avez poss&#233;dez d&#233;j&#224; une liste des images de votre message HTML dans une variable nomm&#233;e &lt;strong&gt;$imgListe&lt;/strong&gt;( sinon il faudra trouver d'autre moyen comme preg_match_all, ou alors un listing de r&#233;pertoire si jamais toutes les images de votre mail se retrouve &#171; par chance &#187; dans un m&#234;me dossier. )&lt;/p&gt; &lt;p&gt;On va donc assigner &#224; chaque image un identifiant nomm&#233; &quot;image-*&quot; o&#249; * sera remplac&#233; par l'indice du tableau correspondant &#224; cette image, et on remplacera l'occurence de cette image dans le contenu du mail ( symbolis&#233; ici par &lt;strong&gt;$content&lt;/strong&gt; ) par cet identifiant.&lt;/p&gt; &lt;p&gt;&lt;span class='csfoo htmla'&gt;&lt;/span&gt;&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&lt;?php&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;foreach(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$imgListe &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;as &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$k &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$v&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;){&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$content &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;str_replace&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$v&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'cid:image'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$k&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$content&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt; }&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;span class='csfoo htmlb'&gt;&lt;/span&gt;&lt;/p&gt;&lt;div id='decoupe_bas' class='pagination decoupe_bas'&gt;
&lt;img class=&quot;no_image_filtrer&quot; alt=&quot;Page pr&#233;c&#233;dente&quot; title=&quot;Page pr&#233;c&#233;dente&quot; src=&quot;http://www.6tech.net/plugins/auto/couteau_suisse/img/decoupe/precedent_off.gif&quot;/&gt; &lt;span class=&quot;cs_pagination_off&quot;&gt;1&lt;/span&gt; &lt;a title=&quot;Page 2 : Renseigner le corps du message&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24&amp;artpage=2-3&quot;&gt;2&lt;/a&gt; &lt;a title=&quot;Page 3 : Exemple&quot; href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24&amp;artpage=3-3&quot;&gt;3&lt;/a&gt; &lt;a href=&quot;http://www.6tech.net/spip.php?page=backend&amp;id_mot=24&amp;artpage=2-3&quot;&gt;&lt;img class=&quot;no_image_filtrer&quot; alt=&quot;Page suivante&quot; title=&quot;Page suivante&quot; src=&quot;http://www.6tech.net/plugins/auto/couteau_suisse/img/decoupe/suivant.gif&quot;/&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;p&gt;&lt;span class='csfoo htmla'&gt;&lt;/span&gt;[&lt;a href='#nh1' id='nb1' class='spip_note' title='Notes 1' rev='footnote'&gt;1&lt;/a&gt;] &lt;span class='csfoo htmlb'&gt;&lt;/span&gt;permet de sp&#233;cifier que les diff&#233;rentes parties du message devrait &#234;tre trait&#233;es comme un tout&lt;/p&gt; &lt;p&gt;&lt;span class='csfoo htmla'&gt;&lt;/span&gt;[&lt;a href='#nh2' id='nb2' class='spip_note' title='Notes 2' rev='footnote'&gt;2&lt;/a&gt;] &lt;span class='csfoo htmlb'&gt;&lt;/span&gt;Content-ID&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
