Page 1 sur 1

Modification image avant envoi mail

Posté : 24 janv. 2015, 20:45
par louisonk49
Bonsoir,

Je suis nouvel inscrit sur ce forum même si j'y trouve souvent des réponses à mes questions... Pas cette fois, et c'est ce qui m'a poussé à m'inscrire. :oops:
J'ai développé le site d'une association, et j'y ajoute des petites applications pour le plaisir. :)

J'ai utilisé les fonctions
imagecreatefromjpeg()
et
imagettftext()
pour ajouter du texte sur une image, et ça fonctionne. Le problème, c'est que je voudrais ensuite envoyer cette image par mail (intégrée dans le mail, pas en fichier joint), et c'est la que ça bloque. Pour l'instant, j'enregistre ma nouvelle image dans un dossier, et je l'inclue dans mon mail à l'aide des balises
<img src="image/mon-image.jpg">
.
Quand j'utilise ce code pour faire apparaître l'image sur la page courante, ça fonctionne. Par contre, quand je vérifie mon mail, l'image n'est pas affichée. J'ai donc entré dans la src de l'image le chemin complet en y intégrant l'adresse de mon site, mais comme l'image est modifiée à chaque fois que quelqu'un exécute le script, l'image est aussi modifiée sur les mails envoyés précédemment... Pas terrible pour celui qui a reçu le mail la semaine d'avant :shock:

J'aimerais donc pouvoir créer une image dans mon mail en "dur", qui ne pourrait plus être modifiée.

J'espère avoir été assez clair dans mon explication :roll: , merci d'avance :D

Louk49

Re: Modification image avant envoi mail

Posté : 25 janv. 2015, 20:58
par Elie
... Pourquoi pas la mettre en piece jointe ou alors donner comme nom a l'image la date de l'envoi du mail ?

Re: Modification image avant envoi mail

Posté : 25 janv. 2015, 21:58
par @rthur
Bonjour Louk49,

Pour intégrer des images dans un mail, le plus simple est de passer par une librairie PHP pour cela ce qui te simplifiera la vie.
PHPmailer est l'une des librairie les plus aboutie pour gérer l'envoi d'e-mail : https://github.com/Synchro/PHPMailer

Et ensuite voila un exemple pour faire ce que tu veux :
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsMail();

$mail->Subject  = "Test e-mail avec image";
$mail->From     = "[email protected]";
$mail->AddAddress("[email protected]");

$mail->AddEmbeddedImage("ton_image.png", "image1_embed");

$mail->Body     = "Hello, <b>World</b>! <br />Ceci est une image : <br /><img alt='Une bien belle image' src='cid:image1_embed'><br /> A bientot !";

Re: Modification image avant envoi mail

Posté : 26 janv. 2015, 20:50
par louisonk49
Bonjour,

En fait, mon but est de pouvoir imprimer simplement le mail avec une mise en page donnée, l'image intégrée à l'intérieur, et c'est pour cette raison que je voulais l'intégrer directement dans le mail.
Pour l'instant, je fais comme tu dis, une nouvelle image avec un nom différent à chaque fois, mais je ne veux pas que quelqu'un d'autre puisse accéder au fichier en récupérant son adresse, et je pensais que créer à chaque fois un nouveau fichier et le sauvegarder était embêtant... :?:

Bref, je pense que je vais changer de méthode :idea: , et envoyer aussi en fichier joint un pdf en utilisant PhpMailer comme me l'a conseillé @rthur, et en utilisant cette même librairie pour essayer de joindre quand même l'image dans mon mail. Comme ça, ce sera facile à imprimer avec la mise en page et mon image intégrée en affichant le pdf, et j'aurais quand même un mail attractif avec les images.

Merci pour votre aide,
Bonne soirée :)

Louk49