Page 1 sur 1

image dans mail avec phpmailer

Posté : 21 mars 2012, 11:55
par dg_dev
Bonjour,

Je cherche depuis plusieurs jours une solution qui me permettent d'envoyer des mails avec la librairie phpmailer et qui contiennent dans le corps une image de type PNG. L'image est réalisée grâce aux fonction GD de php et elle est disponible sur le serveur.
Ces mails sont en format HTML et le lien URL que j'indique avec la balise "<img src..." ne produise qu'une zone image sans rien dedans.
Peut-être y a-t-il un pb avec mon URL qui n'est pas comprise mais j'ai essayé de multiple façon telle que urlencode/urldecode sans résultat.
Si quelqu'un a déjà fait, je suis preneur.

D'avance merci...
Dg_Dev

Re: image dans mail avec phpmailer

Posté : 21 mars 2012, 12:21
par Mazarini
Bonjour,

Par défaut, les clients mail n'affiche pas toujours les images pour éviter le suivi des envois ou la validation des adresses mails par les spammeur.

Tu as la possibilité de voir le source html du mail et ainsi de voir comment la balise img est codée. Une erreur peut être facilement visible comme ca.
Dans l'attribut src, il faut bien mettre l'url complète avec http://tondomaine.com/...

Il existe une possibilité de mettre l'image dans le mail (genre pièce jointe) et de mettre la pièce jointe dans le src. Je ne me rappelle pas la syntaxe exacte.

Re: image dans mail avec phpmailer

Posté : 21 mars 2012, 15:20
par dg_dev
Merci pour votre réponse, mais l'avez-vous déjà réalisé ?
Je réalise mes test sur ma propre adresse où j'ai accepté le chargement des images contenu dans le mails que mon serveur m'envoie.
Il ne s'agit donc pas d'un problème d'acceptation du navigateur ou du gestionnaire de mail.
L'URL de l'image indiquée dans "<img src..." est normalement construite sur des variables concaténées issues d'une base mysql... mais j'ai essayé une URL en dure et toujours le même résultat.
L'avez-vous déjà fait et si oui qu'elles sont les astuces éventuelles ?
D'avance merci.
Dg_Dev

Re: image dans mail avec phpmailer

Posté : 21 mars 2012, 15:53
par Mazarini
Je l'ai fait mais en ASP...
L'URL de l'image indiquée dans "<img src..." est normalement construite...
Il vaut quand même mieux vérifier le source html du mail au cas ou une erreur bête se serait glissé.

Pour faire mon envoi de mail en ASP, j'avais commencé par m'envoyer un mail semblable avec outlook et je m'étais servi du source du mail pour comparer avec le mail généré par ASP.

Dans le source : <img src="cid:[email protected]">

et plus loin la pièce jointe :
---------87741ef187741ef1
Content-Type: image/jpeg; name="image002.jpg"
Content-ID: <[email protected]>
Content-Disposition: inline; filename="image002.jpg"

Edit : mais avec http:// à la place de cid: ca doit marcher de la meme manière.
Content-Transfer-Encoding: base64

Le cid m'est retourné par la fonction ASP d'ajout de pièce jointe

Re: image dans mail avec phpmailer

Posté : 21 mars 2012, 16:06
par dg_dev
Grand merci pour ta réponse, elle me donne quelques pistes de réflexion...
Cela dit ne connaissant pas du tout ASP, ça reste assez flou, mais néanmoins les éléments que tu m'indiques m'inspirent.
A plus...

Re: image dans mail avec phpmailer

Posté : 21 mars 2012, 16:26
par Mazarini
Tu as bien de la chance de ne pas faire d'ASP^^

En fait ce n'est pas à proprement parler un problème PHP ou ASP, mais un problème de génération du fichier qui constitue le mail. Par exemple il est possible d'ajouter des pièces jointes en ajoutant des contenu au texte du mail. C'est ce que font les utilitaires qui nous facilitent la vie en ajoutant des séparateurs et le contenu des pièces jointes.

Re: image dans mail avec phpmailer

Posté : 21 mars 2012, 16:54
par dg_dev
je ne sais pas si c'est de la chance mais en tout cas PHP est un choix que je ne regrette pas.

Donc mes derniers tests montrent que mon mail est niquel quand il est reçu et lu par un outlook express ou non... en revanche sur des gestionnaires en ligne comme hotmail, gmail ou autre solution de FAI ben j'ai pas d'image.

j'avoue pas bien comprendre... pourtant les mails comme "groupons" et autre passent indifféremment... c'est que j'ai bien un problème quelque part ou que je ne suis pas la bonne méthode de rédaction...

si t'as une idée.. je prends

Re: image dans mail avec phpmailer

Posté : 21 mars 2012, 17:19
par Mazarini
J'ai regardé un mail via gmail (fonction "autres" "afficher l'original")

Des fois que ca t'inspire :
<img width=3D"650" height=3D"25" style=3D"display:b=lock;" src=3D"http://g-ecx.images-amazon.com/images/G/01/email/s.gif" />

Il me semble qu'il y a souvent 3D devant tous les attributs (je ne sais pas pourquoi). A l'origine c'est un mail recu d'Amazon.

Prends l'habitude de te référer aux sources plutôt qu'au rendu lorsque ca ne se présente pas comme tu veux. Ca aide bien.

Re: image dans mail avec phpmailer

Posté : 21 mars 2012, 18:48
par dg_dev
ayé j'ai trouvé... c'était bête comme chou... enfin quand on a les yeux en face des trous
le problème venait de la syntaxe de mon URL... je l'avais écrite avec de \ pour éviter la mise en commentaire pas mon éditeur avec des /.
ben faut pas... l'url doit être : http://mon_domaine/mon_repertoire/mon_fichier
l'étude des sources m'a permis de mettre le doigt dessus... grand merci pour le conseil qui s'avère avoir été fort utile =D>
DG_Dev