Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Toujours des problèmes avec envoiPHP

2 views
Skip to first unread message

METIS

unread,
Jun 19, 2009, 6:11:39 AM6/19/09
to
Bonjour,

Bon, j'ai pass� des heures � essayer toutes sortes de configurations, pas
mal au pif car je suis toujours aussi nul en PHP mais je sais
copier/coller(;o))).

Rien � faire, quand �a marche dans le Webmail Orange, �a va pas dans Outlook
Express et r�ciproquement.
Si �a va dans Outlook Express, dans le webmail Orange, c'est soit le body
qui d�conne, soit l'objet mais j'arrive pas � avoir les accents corrects
partout en m�me temps.

Je bidouille le fichier PHP avec Notepd++ et j'envoie avec Filezilla, pour
�viter les probl�mes de codage.

Le fichier PHP que j'envoie et qui pose le moins de probl�me est en format
ANSI (manque juste les accentu�es dans "objet" avec OExpress) :
--------------------------------------------------
<?php
header('Content-Type: text/html; charset=UTF-8');

extract($_POST,EXTR_OVERWRITE);
if(isset($_POST['captchaResult']))
{
session_start();
$_POST['captchaResult'] = strtolower($_POST['captchaResult']);
$_SESSION['captchaResult'] = strtolower($_SESSION['captchaResult']);
if($_POST['captchaResult'] === $_SESSION['captchaResult'])
{ //captcha OK on envoi le message

$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];

$headers = "MIME-Version: 1.0\n";
$headers .= 'Content-type: text/plain; charset=UTF-8'."\n";
$headers .= 'From: <'.$email.'>'."\n";
$headers .= 'Cc: xxx...@xxxxxxxx.nc'."\n";
$headers .= 'Bcc: xxx...@orange.fr'."\n";

$subject="T�l�charger votre dossier...";
$destinataire="$email";

$body=utf8_encode("Vous avez demand� � recevoir le dossier de...\nNous vous
remercions pour votre demande.\nPour t�l�charger votre dossier, cliquez ce
lien :\nhttp://www....\n\nVous �tes :\nNom : $nom\nPr�nom : $prenom\nEmail :
$email\nT�l�phone : $telephone" );
mail($destinataire, $subject, $body, $headers);
include("merci.php");
}
else
{
//captcha faux
include("erreur.php");
}
}
?>
--------------------------------------------------

Merci � ceux qui pourraient m'aider.

(ne me conseillez pas PHPmailer, je ne sais pas m'en servir et j'aimerais
savoir si le code ci-dessus peut marcher..?)

--
<|[;o)) METIS
http://www.graphM.com
Pour m'�crire en priv�,
moi c'est metis15 et
je tourne � l'Orange...

Olivier Miakinen

unread,
Jun 19, 2009, 7:18:15 AM6/19/09
to
Le 19/06/2009 12:11, METIS a ï¿œcrit :
>
> [...]
>
> Le fichier PHP que j'envoie et qui pose le moins de problï¿œme est en format
> ANSI (manque juste les accentuï¿œes dans "objet" avec OExpress) :
> --------------------------------------------------
> [...]
>
> $subject="Tï¿œlï¿œcharger votre dossier...";

$subject="=?iso-8859-1?Q?T=E9l=E9charger_votre_dossier=2E=2E=2E?=";

Olivier Miakinen

unread,
Jun 19, 2009, 7:35:42 AM6/19/09
to
Le 19/06/2009 12:11, METIS a ï¿œcrit :
>
> $headers = "MIME-Version: 1.0\n";
> $headers .= 'Content-type: text/plain; charset=UTF-8'."\n";

Il manque :
$headers .= "Content-Transfer-Encoding: 8bit\n";

METIS

unread,
Jun 19, 2009, 7:41:43 AM6/19/09
to

==>ARGH !!! (;o))))))))))))))

Bon, je subodore que ï¿œa rï¿œgle une question de charset.
J'avais dᅵjᅵ rᅵglᅵ le problᅵme du body en forᅵant UTF-8 avec utf8_encode()

Donc lᅵ, je forcerais le subject en iso-8859-1...?
Mais comment trouver ces ï¿œquivalents, je ne trouve que les &xxxx;

--
<|[;o)) METIS
http://www.graphM.com

Pour m'ᅵcrire en privᅵ,


moi c'est metis15 et

je tourne ᅵ l'Orange...

METIS

unread,
Jun 19, 2009, 7:43:12 AM6/19/09
to

==>En plus du reste ?
(cï¿œd l'encodage du subject en iso-8859-1)

--
<|[;o)) METIS
http://www.graphM.com

Pour m'ᅵcrire en privᅵ,

moi c'est metis15 et

je tourne ᅵ l'Orange...

Olivier Miakinen

unread,
Jun 19, 2009, 8:39:21 AM6/19/09
to
Le 19/06/2009 13:41, METIS a ï¿œcrit :

>>>
>>> $subject="Tï¿œlï¿œcharger votre dossier...";
>>
>> $subject="=?iso-8859-1?Q?T=E9l=E9charger_votre_dossier=2E=2E=2E?=";
>
> ==>ARGH !!! (;o))))))))))))))

Ben quoi ?

> Bon, je subodore que ï¿œa rï¿œgle une question de charset.

ï¿œa rï¿œgle la question du charset *dans les entï¿œtes*, ce qui n'a
strictement rien ᅵ voir avec la question du charset *dans le corps*
du message. Ces questions sont complï¿œtement indï¿œpendantes l'une de
l'autre.

Pour que ce soit bien clair, tu peux avoir :

- un body en UTF-8 et un entï¿œte en ASCII
- un body en UTF-8 et un entï¿œte en Latin1 (c'est le cas ici)
- un body en UTF-8 et un entï¿œte en UTF-8
- un body en Latin1 et un entï¿œte en ASCII
- un body en Latin1 et un entï¿œte en Latin1
- un body en Latin1 et un entï¿œte en UTF-8
- un body en ASCII et un entï¿œte en ASCII
- un body en ASCII et un entï¿œte en Latin1
- un body en ASCII et un entï¿œte en UTF-8
- etc., y compris deux entï¿œtes dans des charsets diffï¿œrents

> J'avais dᅵjᅵ rᅵglᅵ le problᅵme du body en forᅵant UTF-8 avec utf8_encode()

C'est trï¿œs bien. Ne casse surtout pas ï¿œa si ï¿œa marche.

> Donc lᅵ, je forcerais le subject en iso-8859-1...?

Ben oui. Par dï¿œfaut il est en ASCII si tu ne prï¿œcises rien, mï¿œme si tu
as un Content-Type diffï¿œrent d'ASCII pour le corps du message.

> Mais comment trouver ces ï¿œquivalents, je ne trouve que les &xxxx;

Ton courrielleur peut le faire pour toi, et mï¿œme ton nouvelleur, quoique
ce ne soit toujours pas normalisᅵ pour les news. Prends par exemple le
sujet de ce fil : tu avais ï¿œcrit /Toujours des problï¿œmes avec envoiPHP/
avant que je ne retire l'accent dans mes rï¿œponses. Eh bien va relire ton
premier article, fais un truc du genre de ᅵ Affichage / Code source du
message ᅵ (l'intitulᅵ peut varier selon ton logiciel), et cherche la
ligne qui commence par ᅵ Subject: ᅵ. S'il te plaᅵt, fais-le vraiment :
je sais bien que tu n'es pas un programmeur, mais ï¿œa au moins tu devrais
pouvoir y arriver.

Quand tu l'auras fait, viens copier-coller le rï¿œsultat dans ta rï¿œponse.

Olivier Miakinen

unread,
Jun 19, 2009, 8:45:57 AM6/19/09
to
Le 19/06/2009 13:43, METIS a ï¿œcrit :

>>>
>>> $headers = "MIME-Version: 1.0\n";
>>> $headers .= 'Content-type: text/plain; charset=UTF-8'."\n";
>>
>> Il manque :
>> $headers .= "Content-Transfer-Encoding: 8bit\n";
>
> ==>En plus du reste ?

Oui, en plus du reste. Les trois entï¿œtes obligatoires pour dï¿œclarer
un jeu de caractï¿œres autre qu'ASCII dans un message, en utilisant
MIME, sont MIME-Version, Content-type et Content-Transfer-Encoding.

Ah, s'il y avait des vᅵrificateurs de conformitᅵ des courriels, comme
il en existe pour les pages HTML ! Parce que c'est exactement la mï¿œme
problï¿œmatique : tu peux avoir l'impression que ï¿œa marche en essayant
avec un ou deux logiciels, alors que ta syntaxe peut ï¿œtre complï¿œtement
incorrecte.

> (cï¿œd l'encodage du subject en iso-8859-1)

ᅵa n'a *RIEN* ᅵ voir. Les trois entᅵtes MIME ci-dessus concernent
l'encodage du corps, l'encodage du Subject est autre chose. Mais
l'un comme l'autre peuvent ï¿œtre incorrects, et d'ailleurs dans ton
cas ils ï¿œtaient incorrects tous les deux.

METIS

unread,
Jun 19, 2009, 9:03:03 AM6/19/09
to
Olivier Miakinen wrote:
> Le 19/06/2009 13:41, METIS a ï¿œcrit :
>> Mais comment trouver ces ï¿œquivalents, je ne trouve que les &xxxx;
>
> Ton courrielleur peut le faire pour toi, et mï¿œme ton nouvelleur, quoique
> ce ne soit toujours pas normalisᅵ pour les news. Prends par exemple le
> sujet de ce fil : tu avais ï¿œcrit /Toujours des problï¿œmes avec envoiPHP/
> avant que je ne retire l'accent dans mes rï¿œponses. Eh bien va relire ton
> premier article, fais un truc du genre de ᅵ Affichage / Code source du
> message ᅵ (l'intitulᅵ peut varier selon ton logiciel), et cherche la
> ligne qui commence par ᅵ Subject: ᅵ. S'il te plaᅵt, fais-le vraiment :
> je sais bien que tu n'es pas un programmeur, mais ï¿œa au moins tu devrais
> pouvoir y arriver.
>
> Quand tu l'auras fait, viens copier-coller le rï¿œsultat dans ta rï¿œponse.

==>Hᅵ oui :
Subject: =?iso-8859-1?Q?Toujours_des_probl=E8mes_avec_envoiPHP?=

Bon, sur le forum de mon hï¿œbergeur, un pote m'a rï¿œpondu en envoyant un code
PHP que je viens de tester avec des accents partout, ï¿œa marche, avec OE et
le Webmail Orange!!!

Le problᅵme que j'avais avec mon script pompᅵ sur le Net, c'est qu'il y
avait toujours un cas oᅵ ᅵa ne marchait pas.
Quand ï¿œa marche dan OE, ï¿œa marche pas dans complï¿œtement dans webmail Orange.
Et rï¿œciproquement.
Quand ï¿œa semble marcher dans les 2, il y a toujours un truc qui dï¿œconne.
Par exemple :
Vous êtes :
Nom : TEST stratï¿œge
Prénom : TEST stratᅵge
Email : xxx...@wanadoo.fr
Téléphone : TEST stratᅵge

Cᅵtᅵ description, pas bon,
Cᅵtᅵ champs du formulaire, bon...
ETC...

Olivier Miakinen

unread,
Jun 19, 2009, 9:14:47 AM6/19/09
to
Le 19/06/2009 15:03, METIS a ï¿œcrit :
>
> Téléphone : TEST stratᅵge

Ben oui. La raison en est trᅵs simple, et on a ᅵtᅵ plusieurs ᅵ tenter de
te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui
te bloque et t'empï¿œche de la comprendre, alors pour ma part j'ai fini
par abandonner.

METIS

unread,
Jun 19, 2009, 9:25:04 AM6/19/09
to

==>Oui, j'ai fini par comprendre.
Encoder le fichier au dï¿œpart en utilisant Notepad++.
Bon, mais j'avais encore d'autres problï¿œmes...
ANSI, UTF-8, UTF-8 (sans BOM) donnaient toujours des rï¿œsultats diffï¿œrents,
partiellement satisfaisants.

PS : ton adresse est valide ?

Olivier Miakinen

unread,
Jun 19, 2009, 9:57:26 AM6/19/09
to
Le 19/06/2009 15:25, METIS a ï¿œcrit :

>>>
>>> Téléphone : TEST stratᅵge
>>
>> Ben oui. La raison en est trᅵs simple, et on a ᅵtᅵ plusieurs ᅵ tenter de
>> te l'expliquer plusieurs fois. Mais visiblement il y a quelque chose qui
>> te bloque et t'empï¿œche de la comprendre, alors pour ma part j'ai fini
>> par abandonner.
>
> ==>Oui, j'ai fini par comprendre.
> Encoder le fichier au dï¿œpart en utilisant Notepad++.

Ok. ï¿œa te permet de maï¿œtriser le charset de l'une de tes sources de
caractï¿œres : ceux qui sont codï¿œs en dur dans le fichier PHP.

D'autres sources sont :
- ce qui vient du formulaire ($_POST[] ou $_REQUEST[])
- ce qui vient de la base de donnï¿œes

Et tu as plusieurs dᅵclarations ᅵ gᅵrer :
- entï¿œtes HTTP, header("Content-Type...")
- ï¿œventuellement pseudo-entï¿œte META http-equiv
- dï¿œclaration MIME dans le courriel

> Bon, mais j'avais encore d'autres problï¿œmes...
> ANSI, UTF-8, UTF-8 (sans BOM) donnaient toujours des rï¿œsultats diffï¿œrents,
> partiellement satisfaisants.

Rien ne pourra ï¿œtre complï¿œtement satisfaisant tant que tu ne comprendras
pas, ᅵ chaque ᅵtape et pour chaque caractᅵre, quels sont les octets
envoyᅵs, et comment c'est censᅵ ᅵtre interprᅵtᅵ.

> PS : ton adresse est valide ?

Oui, mais j'ai encore moins de temps ᅵ perdre par courriel privᅵ que sur
usenet. En public, au moins, j'ai l'espoir que le temps que je passe
pourra servir ᅵ d'autres personnes que toi.

0 new messages