OVH Cloud OVH Cloud

Après mailto, mail tout court...

32 réponses
Avatar
Pascale
J'ai encore des soucis et pas avec un mailto, mais tout bêtement avec la
fonction mail (PHP). Je pense néanmoins que ma question a plus sa place ici
que sur fr.comp.lang.php.

J'ai une page qui envoie un message au propriétaire du site lorsqu'un
utilisateur entre un témoignage (via un formulaire). Il n'y a évidemment
pas de .... mais des valeurs de session que je récupère.

Le bout de programme concerné est fait ainsi :

$entetes="From: postmaster@monbeaudomaine.fr\n".
"Reply-To: ".$courriel."\n".
"Return-path: postmaster@monbeaudomaine.fr\n".
"MIME-Version: 1.0\n".
"Content-Type:text/plain; charset=iso-8859-15\n".
"Content-Transfer-Encoding: 8bit\n";
$sujet="Nouveau témoignage sur le site de xxxxx";
$libcat=....;
$texte=....;
$prenom=....;
$courriel=....;
$message=$prenom." (adresse courriel ".$courriel." vient de saisir le
témoignage suivant sur le site de xxxxxx :\n".$texte."\nCe témoignage est
inscrit dans la catégorie ".$libcat;
mail($adrms,$sujet,$message,$entetes);

Si j'envoie ce courriel chez moi et que je le lis avec Becky, tout est
normal, il n'y a strictement aucun problème. Mais ce courriel est
normalement reçu par le propriétaire du site qui lit les messages, pour
autant que je sache, avec la messagerie Orange.

Et le problème est que lorsque c'est lui qui récupère les messages (ce qui
est le fonctionnement normal),systématiquement, la première lettre du sujet
(un N, en l'occurrence) disparaît corps et biens, le titre devient « ouveau
témoignage sur le site de xxxxx » !
J'ai à un autre endroit du site un formulaire de contact fait sur le même
modèle : le problème est le même, la première lettre du sujet disparaît,
mais là encore, uniquement lorsque les messages sont lus avec la messagerie
Orange !

Je me dis qu'il manque peut-être quelque chose dans mes en-têtes pour qu'il
n'y ait pas de lézard, mais kouadonc ?

--
Pascale

10 réponses

1 2 3 4
Avatar
Pascale
Olivier Miakinen <om+ écrivait
news:49afd87e$:

Ok, mais ici les « entêtes » 'Sujet' et 'Texte' contiennent toujours
des caractères non-ASCII et non encodés en MIME, or c'était vraiment
*le* truc non conforme de ton script initial. Tu as essayé sans aucun
caractère accentué ?



Le sujet lui-même n'est jamais accentué, c'est seulement « Mobil Sport ».

Si je reprends l'ensemble du code, j'ai :

$sujet=' Mobil Sport';
$entetes="From: ".
"Reply-To: ".$courriel."n".
"Return-path: ".
"MIME-Version: 1.0n".
"Content-Type: text/plain; charset=iso-8859-15n".
"Content-Transfer-Encoding: 8bitn";
$texte=html_entity_decode($_SESSION['texte'],ENT_QUOTES,'ISO-8859-15');
$identite=html_entity_decode($_SESSION['identite'],ENT_QUOTES,'ISO-8859-
15');
$courriel=$_SESSION['courriel'];
$message="Message envoyé par le formulaire du site Mobil Sport, de la part
de ".$identite." (adresse courriel : ".$courriel.") :nn".$texte;
mail($adrtec,$sujet,$message,$entetes);
//
$txtmessage="Sujet : ".$sujet." - Envoyé par : ".$identite." - Entêtes :
".$entetes."Texte : ".$texte."nn";
$controle=fopen("fichiermessage.txt","a+");fwrite($controle,$txtmessage);
fclose($controle);

Si j'encode le é de envoyé, je reçois le code tel quel dans Becky :
« Message =?ISO-8859-15?Q?envoyé?=  ... »
Mais en effet, ça coûte pas cher de mettre « message en provenance du
formulaire du site Mobil Sport », histoire d'avoir un accent de moins. Je
vais essayer (mais je ne pourrai pas empêcher les gens de mettre des
accents dans leur texte).

--
Pascale
Avatar
Olivier Miakinen
Le 05/03/2009 16:24, Pascale a écrit :

Ok, mais ici les « entêtes » 'Sujet' et 'Texte' contiennent toujours
des caractères non-ASCII et non encodés en MIME, or c'était vraiment
*le* truc non conforme de ton script initial. Tu as essayé sans aucun
caractère accentué ?



Le sujet lui-même n'est jamais accentué, c'est seulement « Mobil Sport ».



À moins que je n'aie loupé une de tes réponses, tu n'avais pas encore
dit que tu avais remplacé :
$sujet="Nouveau témoignage sur le site de xxxxx";
par :
$sujet=' Mobil Sport';

Est-ce le cas dans tous les autres entêtes (champs From et Reply-To par
exemple) ?

Si je reprends l'ensemble du code, j'ai :

$sujet=' Mobil Sport';
$entetes="From: ".
"Reply-To: ".$courriel."n".



Pas de caractères accentués là-dedans ?

"Return-path: ".
"MIME-Version: 1.0n".
"Content-Type: text/plain; charset=iso-8859-15n".
"Content-Transfer-Encoding: 8bitn";

$texte=html_entity_decode($_SESSION['texte'],ENT_QUOTES,'ISO-8859-15');
$identite=html_entity_decode($_SESSION['identite'],ENT_QUOTES,'ISO-8859-
15');
$courriel=$_SESSION['courriel'];



Tiens ? Tu modifies la variable $courriel après l'avoir utilisée ? Ça ne
me semble pas très sain. Mais bon, tu fais comme tu veux.

$message="Message envoyé par le formulaire du site Mobil Sport, de la part
de ".$identite." (adresse courriel : ".$courriel.") :nn".$texte;
mail($adrtec,$sujet,$message,$entetes);



et $adrtec, c'est juste une adresse sans fioritures ?

$txtmessage="Sujet : ".$sujet." - Envoyé par : ".$identite." - Entêtes :
".$entetes."Texte : ".$texte."nn";
$controle=fopen("fichiermessage.txt","a+");fwrite($controle,$txtmessage);
fclose($controle);

Si j'encode le é de envoyé, je reçois le code tel quel dans Becky :
« Message =?ISO-8859-15?Q?envoyé?= ... »



Normal, ce n'est pas dans les entêtes. Désolé de ne pas avoir compris
que dans ton article précédent tu décrivais le corps du message plutôt
que ses entêtes.

Mais en effet, ça coûte pas cher de mettre « message en provenance du
formulaire du site Mobil Sport », histoire d'avoir un accent de moins. Je
vais essayer (mais je ne pourrai pas empêcher les gens de mettre des
accents dans leur texte).



Non, ne fais pas ça : c'est uniquement dans les entêtes qu'il faut
chasser les caractères non-ASCII. En ce qui concerne le corps du
message, les déclarations contenues dans MIME-Version, Content-Type
et Content-Transfer-Encoding suffisent pour que ce soit correct.
Avatar
Pascale
Olivier Miakinen <om+ écrivait
news:49aff60b$:

À moins que je n'aie loupé une de tes réponses, tu n'avais pas encore
dit que tu avais remplacé :
$sujet="Nouveau témoignage sur le site de xxxxx";
par :
$sujet=' Mobil Sport';



Non, je n'ai pas fait de modification : ce n'est tout simplement pas le
même formulaire (mais il pose le même problème).
Je commence par le cas « simple », celui sans accents (:

Est-ce le cas dans tous les autres entêtes (champs From et Reply-To
par exemple) ?



Pas d'accents ni de trucs louches en goguette, non.

$sujet=' Mobil Sport';
$entetes="From: ".
"Reply-To: ".$courriel."n".



Pas de caractères accentués là-dedans ?



Ben non.

"Return-path: ".
"MIME-Version: 1.0n".
"Content-Type: text/plain; charset=iso-8859-15n".
"Content-Transfer-Encoding: 8bitn";



$texte=html_entity_decode($_SESSION['texte'],ENT_QUOTES,'ISO-8859-15')
;
$identite=html_entity_decode($_SESSION['identite'],ENT_QUOTES,'ISO-885
9- 15');
$courriel=$_SESSION['courriel'];



Tiens ? Tu modifies la variable $courriel après l'avoir utilisée ? Ça
ne me semble pas très sain. Mais bon, tu fais comme tu veux.



Bien vu. Tu viens d'obtenir la preuve que je radote (-: (j'ai supprimé
cette ligne de code parfaitement inutile).

$message="Message envoyé par le formulaire du site Mobil Sport, de la
part de ".$identite." (adresse courriel : ".$courriel.")
:nn".$texte; mail($adrtec,$sujet,$message,$entetes);



et $adrtec, c'est juste une adresse sans fioritures ?



Exactement. Je teste avec mes propres adresses Free et Valinfo, qui sont
archi-classiques et sans fioritures.

Normal, ce n'est pas dans les entêtes. Désolé de ne pas avoir compris
que dans ton article précédent tu décrivais le corps du message plutôt
que ses entêtes.



Probable que je me suis mal expliquée.

Mais en effet, ça coûte pas cher de mettre « message en provenance du
formulaire du site Mobil Sport », histoire d'avoir un accent de
moins. Je vais essayer (mais je ne pourrai pas empêcher les gens de
mettre des accents dans leur texte).



Non, ne fais pas ça : c'est uniquement dans les entêtes qu'il faut
chasser les caractères non-ASCII. En ce qui concerne le corps du
message, les déclarations contenues dans MIME-Version, Content-Type
et Content-Transfer-Encoding suffisent pour que ce soit correct.



D'accord.

--
Pascale
Avatar
Olivier Miakinen
Le 05/03/2009 18:45, Pascale a écrit :

[...]
Pas d'accents ni de trucs louches en goguette, non.



Bon, eh bien il ne reste plus qu'à comparer les messages envoyés par
ton formulaire et par un courrielleur, vers la messagerie Orange ou une
autre.

Plus exactement :
1) utiliser le formulaire pour envoyer un message vers la messagerie
Orange ;
2) idem, mais en remplaçant le nom du destinataire par mon adresse,
om+ ;
3) utiliser ton Becky pour envoyer un message (autant que possible
avec les mêmes valeurs dans From, Subject, Reply-To, etc.) vers la
messagerie orange ;
4) idem, vers om+

Et puis : faire vérifier par le propriétaire du compte chez Orange que
seul le premier message voit son Subject amputé du premier caractère ;
en ce qui concerne les messages envoyés vers ma propre adresse, je me
charge de la vérification.
Avatar
Pascale
Olivier Miakinen <om+ écrivait
news:49b01276$:

Bon, eh bien il ne reste plus qu'à comparer les messages envoyés par
ton formulaire et par un courrielleur, vers la messagerie Orange ou une
autre.

Plus exactement :
1) utiliser le formulaire pour envoyer un message vers la messagerie
Orange ;



Donc ça, c'est ce qui se fait en temps normal. J'ai eu des forwards des
messages concernés, il manque bien la première lettre.

2) idem, mais en remplaçant le nom du destinataire par mon adresse,
om+ ;



2 envois (identiques, je nettoyais mon clavier et le coup est parti tout
seul©) sont partis tout à l'heure.

3) utiliser ton Becky pour envoyer un message (autant que possible
avec les mêmes valeurs dans From, Subject, Reply-To, etc.) vers la
messagerie orange ;



Bon, c'est à faire, mais depuis que j'échange des messages avec cette
personne depuis Becky, s'il y avait eu un os, il me l'aurait dit...

4) idem, vers om+



Fait.

Et puis : faire vérifier par le propriétaire du compte chez Orange que
seul le premier message voit son Subject amputé du premier caractère ;



Seul le premier message ?...

en ce qui concerne les messages envoyés vers ma propre adresse, je me
charge de la vérification.



Je te remercie pour ton aide (:

--
Pascale
Avatar
Olivier Miakinen
Le 07/03/2009 11:53, Pascale a écrit :

1) utiliser le formulaire pour envoyer un message vers la messagerie
Orange ;



Donc ça, c'est ce qui se fait en temps normal. J'ai eu des forwards des
messages concernés, il manque bien la première lettre.



Oui.

2) idem, mais en remplaçant le nom du destinataire par mon adresse,
om+ ;



2 envois (identiques, je nettoyais mon clavier et le coup est parti tout
seul©) sont partis tout à l'heure.



;-)

3) utiliser ton Becky pour envoyer un message (autant que possible
avec les mêmes valeurs dans From, Subject, Reply-To, etc.) vers la
messagerie orange ;



Bon, c'est à faire, mais depuis que j'échange des messages avec cette
personne depuis Becky, s'il y avait eu un os, il me l'aurait dit...



... d'où la recommandation d'envoyer des entêtes les plus semblables
possibles.

4) idem, vers om+



Fait.



Oui, reçu aussi. Je t'ai renvoyé les entêtes tels que je les ai reçus,
en virant quand même pas mal de trucs inutiles, mais en laissant toutes
les adresses (From, To, Reply-To, Return-Path). Voici une version encore
plus expurgée, pour en discuter avec les autres. Les deux premiers sont
ceux provenant du formulaire, le dernier vient de Becky.

Subject: Mobil Sport
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8bit
Date: Sat, 07 Mar 2009 11:41:19 +0100

Subject: Mobil Sport
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8bit
Date: Sat, 07 Mar 2009 11:42:52 +0100

Date: Sat, 07 Mar 2009 11:51:22 +0100
Subject: Mobil Sport
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-15"
Content-Transfer-Encoding: 8bit

Ce qui est amusant, c'est que le titre n'est certainement pas tronqué
dans ce qu'envoie le formulaire, alors que dans l'envoi de Becky il n'y
a pas l'espace que tu as ajoutée avant « Mobil »... si ce n'est pas un
oubli de ta part, alors c'est peut-être Becky qui (hum...) supprime
cette espace ; je crois d'ailleurs qu'il a le droit de le faire dans
le respect de la norme.

Comme autre différence, il y a la casse du charset (mais cette valeur
est parfaitement insensible à la casse) et la présence ou l'absence de
guillemets (mais là encore je suis à peu près sûr que les deux sont
autorisés). Bref... tu peux toujours essayer de rajouter les guillemets
dans ton envoi par formulaire, mais je n'ai quasi aucun espoir que cela
améliore les choses.

Désolé.
Avatar
Pascale
Olivier Miakinen <om+ écrivait
news:49b2e74a$:

Ce qui est amusant, c'est que le titre n'est certainement pas tronqué
dans ce qu'envoie le formulaire, alors que dans l'envoi de Becky il n'y
a pas l'espace que tu as ajoutée avant « Mobil »... si ce n'est pas un
oubli de ta part, alors c'est peut-être Becky qui (hum...) supprime
cette espace ; je crois d'ailleurs qu'il a le droit de le faire dans
le respect de la norme.



En effet, il semble bien que ce soit Becky qui tronque l'espace inutile.
Mais je ne trouve pas choquant qu'il le fasse.

Comme autre différence, il y a la casse du charset (mais cette valeur
est parfaitement insensible à la casse) et la présence ou l'absence de
guillemets (mais là encore je suis à peu près sûr que les deux sont
autorisés). Bref... tu peux toujours essayer de rajouter les guillemets
dans ton envoi par formulaire, mais je n'ai quasi aucun espoir que cela
améliore les choses.

Désolé.



Ne sois pas désolé, tu as fait vraiment le maximum pour me dépatouiller de
ce problème.
Je crains que ta conclusion ne soit la bonne. Je parie pour un problème
inhérent à la messagerie Orange. Je ne peux pas convaincre pour l'instant
le destinataire de ces messages d'utiliser un vrai logiciel de courrier
électronique car il a un petit ordinateur portable hors d'âge où faire
tourner un nouveau programme exige d'avoir un certain goût pour les ennuis.

Il faudrait que je trouve un autre cobaye utilisant cette messagerie...

--
Pascale
Avatar
Olivier Miakinen
Le 08/03/2009 11:37, Pascale a écrit :

Je crains que ta conclusion ne soit la bonne. Je parie pour un problème
inhérent à la messagerie Orange.



Moi aussi, et ce pratiquement depuis le début, mais je cherchais à
déterminer ce qui pouvait déclencher ce bug dans la messagerie Orange.

[...]

Il faudrait que je trouve un autre cobaye utilisant cette messagerie...



On aurait dû le faire depuis longtemps : c'est dans fr.comp.mail à
priori que tu as le plus de chances de trouver cet oiseau rare.
Avatar
SAM
Le 3/8/09 11:37 AM, Pascale a écrit :

Il faudrait que je trouve un autre cobaye utilisant cette messagerie...



http://stephane.moriaux.pagesperso-orange.fr/contact
(ou bien se dépatouiller avec le reply invalide presque OK)

--
sm
Avatar
Pascale
SAM écrivait
news:49b4459e$0$12620$:

Le 3/8/09 11:37 AM, Pascale a écrit :

Il faudrait que je trouve un autre cobaye utilisant cette messagerie...



http://stephane.moriaux.pagesperso-orange.fr/contact
(ou bien se dépatouiller avec le reply invalide presque OK)



Je te remercie de ton offre.

Je vais de ce pas faire une tentative !

Encore merci.

--
Pascale
1 2 3 4