PHP un mail en format html

Résolu/Fermé
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 - 2 sept. 2009 à 16:04
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 - 3 sept. 2009 à 12:19
Bonjour,

Un script php crée un mail en format html et en fait l'envoi

$message = "<html><head> ... </html>"; // nb : assez long

Tout va bien MAIS

à l'arrivée, sans doute à cause d'une taille de buffer (?) le message html est entier mais coupé n'importe où.
de ce fait certaines choses ne sont plus affichables, comme par exemple :
<img src="nomde
  limage.jpg">

on voit le nom coupé et de plus avec un espace devant limage.
Ainsi on ne trouve plus l'image et on a un belle petite croix rouge.

l'un d'entre vous a-t-il une idée sur le problème ?
d'où vient ce découpage ? (php buffer, mail ?????)

merci pour vos idées.
A voir également:

8 réponses

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
2 sept. 2009 à 16:26
Bonjour,

Pourrais-tu mettre entre balise < code > < /code > l'ensemble de ton script PHP qui créé ton envoi de mail ?
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
2 sept. 2009 à 17:32
bonsoir,

problème délicat, le script contient des infos confidentielles (URL entre autres)
le script fonctionne bien, mais que souhaites-tu voir dans le script ?

j'ai un include d'une class mail.php avec un send();

une autre class pour composer le message (php5)
la composition du messsage $message =...
$message .= ...
return $message;



0
Dipankara Messages postés 188 Date d'inscription dimanche 23 août 2009 Statut Membre Dernière intervention 10 septembre 2009 26
2 sept. 2009 à 17:36
c pas grave masque les infos que tu ne veux pas afficher
c pour voir comment ton script est développé, et voir s'il n'y a pas une erreur a l'intérieur qui explique ton problème
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
2 sept. 2009 à 17:37
Re,

La manière dont il est codé, pour s'assurer que l'erreur ne vient pas de là simplement :)
Si tu dis que tu es sûr qu'il fonctionne, ma fois ce n'est pas la peine de le mettre.

Dans ce cas là, peut-être n'as tu pas indiqué les bons headers lors de l'envoi ?

Es-ce que tu as fait la même chose que dans ce tutorial ?
http://www.cdprof.com/moodle/course/view.php?id=8&page=27
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
2 sept. 2009 à 17:54
l'envoi fonctionne, le message est reçu et quand on l'ouvre
cela donne pour certaines images une croix rouge

j'affiche alors le source et je m'aperçois de la cesure du message (qui est cependant complet)
les cesures étant la cause du non affichage de l'image puisque le nom de l'image s'en trouve transformé.


ps je suis à la maison, le pb est au boulot
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
2 sept. 2009 à 17:55
Ca on a bien compris ^^ Mais ça ne nous aide pas plus à comprendre / trouver d'où vient ton problème.
Sans ton code je crains qu'on ne puisse vraiment chercher si l'on pas nous même la solution (si le problème est externe à ton code)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
2 sept. 2009 à 17:58
le problème est externe au code.
en posant la question autrement qui de PHP ou de mail découpe ou recompose le message ?
quand on envoie un mail, peut-on gérer la taille des buffers ?
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
2 sept. 2009 à 18:00
Je ne sais pas, pour ça il faudrait qu'on voit la façon dont tu envoi ton mail, et donc ton code ;)

Sinon ça vient aussi peut etre de outlook, de la facon dont il interprète ton email, il est peut etre en mode texte et non html (il me semble qu'il y a deux modes, mais je ne suis absoluement pas sur de ça ^^')
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
2 sept. 2009 à 18:31
le message est bien en html.
95% du message s'affiche correctement.
les cesures faites n'importe où dans le code html ne gêne pas.
par contre une cesure au milieu d'un nom d'image ou de la référence à un id dans un div gêne.

le message affiché (echo $message;) sur le site est 100% correct.
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
3 sept. 2009 à 10:47
bonjour,

kij_82 une partie du code en MP (celle que je peux mettre)
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
3 sept. 2009 à 12:19
Bonjour

j'ai résolu mon problème en inserrant des \n provoquant ainsi les césures quand je le veux et non quand il (?) le voulait.
merci à tous
0