Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2008, 15h12   #1
Invité de passage
 
Inscription : juin 2008
Messages : 3
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juin 2008
Messages : 3
Points : 1
Points : 1
Par défaut [Mail] Un buffer qui ne bufferise pas

Salut,

Voilà je dois générer une newsletter à partir d'une base données, qui sera destinée à être affichée sur le site, mais aussi à être envoyée par mail à une liste de diffusion.
La génération se passe sans problème.
Ce qui pose problème c'est l'envoi par mail.

J'utilise les fonctions de bufferisation ob_start(), ob_get_contents() et ob_end_clean(), de cette façon :

Code :
1
2
3
4
5
6
7
 
ob_start();
<génération de ma newsletter>
$contenu=ob_get_contents();
$headers_html="LES HEADERS QUI VONT BIEN";
mail("liste@monserveur.com", "Newsletter", $contenu, $headers_html);
ob_end_clean();
Je reçois bien ma newsletter, générée comme il faut, à l'exception de certaines images. Elles s'affichent bien sur le site, mais pas dans le mail.
Quelqu'un aurait une idée ?
Peut être y'a t-il une option à spécifier pour inclure les images dans le buffer ?
Peut-être dois-je en augmenter sa taille ?

Help me please !
Merci d'avance !



Edit : Désolé pour la balise CODE, je le referai plus, promis !
Liath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 16h09   #2
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
Les images ne sont pas jointes au mail. Donc tu utilise certainement une URL relative pour y acceder, donc c'est normal qu'elles ne s'affichent pas.

Solutions ?
* Soit mettre des URL ABSOLUES (http://..../...jpg) sur les images
* Soit joindre les images au message (et là tu en est pour te taper toute la doc sur les message de type multipart/...) ^^ ET tu auras peut etre des problemes de taille (de message ;o)
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 16h15   #3
Invité de passage
 
Inscription : juin 2008
Messages : 3
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juin 2008
Messages : 3
Points : 1
Points : 1
Merci de ta réponse !
Mes URL sont déjà en absolu =)
Ce que je n'arrive pas à comprendre, c'est pourquoi certaines images s'affichent et pas d'autres, alors que l'url est bien en absolue et le format des images (toutes) en .jpg...

Liath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 16h24   #4
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
regarde le code source du mail, puis essaye de charger les images manquantes "a la main" en copie/collant l'URL présente dans les messages dans un navigateur web
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 16h30   #5
Invité de passage
 
Inscription : juin 2008
Messages : 3
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juin 2008
Messages : 3
Points : 1
Points : 1
Erf, j'ai pas pensé à regarder la source du mail.
Après enregistrement en HTML de mon mail, il apparait que les images écrites comme : <img src="/files/images/machin.jpg">
Je sais pas pourquoi j'ai cru qu'elles étaient en absolu...

Bref, merci à toi et désolé de t'avoir fait perdre ton temps ! :/
Problème résolu ! \o/


Liath est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h56.


 
 
 
 
Partenaires

Hébergement Web