Bonjour tout le monde,
Je viens poster ici ce soir concernant un soucis de Language php.
Je tente d'envoyer un mail PHP contenant du texte HTML avec des images.
Ne souhaitant pas mettre QUE les liens mais envoyer réellement les images, j'ai décidé de les encoder en Base64 pour ensuite les envoyer.
Voici mon code(sans la fonction mail):
Donc jusque là pas de soucis, cela fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12<php // Get the image and convert into string $img = file_get_contents( '../images/chien.jpg'); // Encode the image string data into base64 $data = "'data:image/jpeg;base64,".base64_encode($img)."'"; ?> <img src=<?php echo $data;?> width="407" height="100" alt="" style="display:block; border:0; margin:0;">
Par contre ensuite je souhaite mettre le contenu de mon HTML dans la variable $message de mon mail.
Du coup j'ai tenté ceci(je n'ai pas mis tout le code car le reste est fonctionnel et je ne veux pas "polluer") :
Ce que j'ai constaté c'est que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // Get the image and convert into string $img = file_get_contents( '../images/chien.jpg'); // Encode the image string data into base64 $data = "'data:image/jpeg;base64,".base64_encode($img)."'"; $message .='<img src='.echo $data.' width="407" height="100" alt="" style="display:block; border:0; margin:0;">';
Si je ne met pas le echo ( même dans mon premier script), cela ne fonctionne pas.
En revanche le echo pose soucis car j'ai l'impression qu'il n'est pas possible le mettre dans une variable.
Comment ferriez-vous?
Partager