Mail html avec images dans le corps avec Ckeditor et Phpmailer

lapin111 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
lapin111 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous les membres de la communauté,

Je travaille sur un projet au sein de mon entreprise et je rencontre une difficulté pour envoyer des mailings (1000 contacts environ) en html.

Je souhaite envoyer ces mails depuis notre intranet en utilisant la class Phpmailer.
Pour créer le corps du mail, j'ai associé l'éditeur Wysiwyg CKEDITOR à une balise textarea pour obtenir un message en html.
J'utilise aussi le pluggin CKFINDER associé à CKEDITOR pour pouvoir uploader de nouvelles images dans mon serveur.
Tous ces éléments ajoutés fonctionnent très bien.

J'en viens enfin à ma demande :
Je sais uploader de nouvelles photos dans le serveur avec CKFINDER.
Je sais créer un mail en html avec des images et des textes dans mon éditeur wysiwyg.
Je ne sais pas comment faire en sorte que ces photos là apparaissent dans le mail que recevront mes contacts en utilisant la méthode AddEmbeddedImage et le Content-ID.

Voici un extrait de mon code pour que vous puissiez comprendre ce que je cherche à faire.

<textarea id="ckeditor" name="message">
Tel : <a href="tel:0606060606">0606060606</a><br>
Fax : <a href="tel:0606060606">0606060606</a><br>
<a href="http://www.monsite.org">http://www.monsite.org</a><br/>
<img alt="logosite" src="cid:logosite" />
<img alt="logocharte" src="cid:logocharte" />
<p style="color:red;">sous-titre</p>
</textarea>


// On créé une nouvelle instance de la classe
$mail = new PHPMailer();

// De qui vient le message, e-mail puis nom
$mail->From = $_POST['expediteur'];
$mail->FromName = $_POST['nom'];
$mail->IsHTML(true);

// Définition du sujet/objet
$mail->Subject = $_POST['sujet'];
	
$mail->AddEmbeddedImage('../../images/logosite.jpg','logosite');
$mail->AddEmbeddedImage('../../images/logocharte.jpg','logocharte');

// On définit le contenu du message
$mail->Body = stripslashes($_POST['message']);

// On définit le destinataire
$mail->AddAddress("monnom@domaine.org");	

// Pour finir, on envoi l'e-mail
$mail->send();


Merci à tous et n'hésitez pas à me poser des questions si j'ai manqué de clarté.
A voir également:

2 réponses

Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Bonjour !
Je ne sais pas comment faire en sorte que ces photos là apparaissent dans le mail que recevront mes contacts en utilisant la méthode AddEmbeddedImage et le Content-ID. 
C'est une obligation technique ta méthode AddEmbeddedImage ?

Car si tu veux simplement des images dans le corps de ton texte la balise img suffit (avec un lien absolu pour le src).
0
lapin111 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Nhay et merci pour ta réponse.

La méthode AddEmbeddedImage fait partie de la class PhpMailer en fait donc je pense qu'il faut l'utiliser.

Cela dit je pourrais très bien utiliser la fonction mail() classique et le problème serait le même.

En fait la difficulté n'est pas d'insérer des images dans le texte mais de faire en sorte qu'elles s'affichent aussi dans le corps du mail que j'envoie. Même avec le lien absolu, les images ne s'affichent pas dans le corps du mail envoyé si j'utilise seulement la balise img.

Merci à toi si tu as une autre idée.
0