Problème de décodage...

 
Poster un nouveau sujet   Répondre au sujet    iprelax.fr Index du Forum -> MIME
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
oliv21
dummy mioche
dummy mioche


Inscrit le: 11 Fév 2004
Messages: 2

MessagePosté le: Mer Fév 11, 2004 2:11 pm    Sujet du message: Problème de décodage... Répondre en citant

Bonjour,

J'ai un code qui permet d'envoyer un e-mail avec du texte et un fichier joint :

*************************
<?

function mail_attach($to , $sujet , $message , $fichier , $typemime , $nom , $reply , $from)
{
$limite = "_parties_".md5(uniqid (rand()));

$mail_mime = "Date: ".date("l j F Y, G:i")."\n";
$mail_mime .= "MIME-Version: 1.0\n";
$mail_mime .= "Content-Type: multipart/mixed;\n";
$mail_mime .= " boundary=\"----=$limite\"\n\n";

//Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML

$texte = "This is a multi-part message in MIME format.\n";
$texte .= "Ceci est un message est au format MIME.\n";
$texte .= "------=$limite\n";
$texte .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$texte .= "Content-Transfer-Encoding: 7bit\n\n";
$texte .= $message;
$texte .= "\n\n";

//le fichier
$attachement = "------=$limite\n";
$attachement .= "Content-Type: $typemime;\n";
$attachement .= " name=\"$nom\"\n";
$attachement .= "Content-Disposition: attachment;\n";
$attachement .= " filename=\"$nom\"\n";
$attachement .= "Content-Transfer-Encoding: base64\n\n";

$attachement .= chunk_split(base64_encode($fichier));
$attachement .= "\n------=$limite--\n";
return mail($to, $sujet, $texte.$attachement, "Reply-to:$reply\nFrom:$from\n".$mail_mime);
}

$pj="
<HTML>
<HEAD>
<TITLE>Votre Commande</TITLE>
</HEAD>
<BODY><TABLE WIDTH=\"90%\" BORDER=\"1\" BORDERCOLORLIGHT=\"\" ALIGN=\"center\" STYLE=\"border-collapse: collapse;background-color:\">
<TR>
<TH ALIGN=\"LEFT\" WIDTH=\"10%\">REF</TH>
<TH ALIGN=\"LEFT\" WIDTH=\"50%\">LIBELLES</TH>
<TH ALIGN=\"CENTER\" WIDTH=\"10%\">TARIFS</TH>
<TH ALIGN=\"CENTER\" WIDTH=\"10%\">QUANTITE</TH>
<TH ALIGN=\"CENTER\" WIDTH=\"15%\">TOTAL</TH>
</TR>
<TR >
<TD ALIGN=\"LEFT\">002D</TD>
<TD ALIGN=\"LEFT\">Chocolats au lait (Ballotin 750 g)</TD>
<TD ALIGN=\"CENTER\">43.50 €</TD>
<TD ALIGN=\"CENTER\">2</TD>
<TD ALIGN=\"RIGHT\">87.00 €</TD>
</TR>
<TR >
<TD ALIGN=\"LEFT\">001A</TD>
<TD ALIGN=\"LEFT\">Chocolats noirs (Ballotin 250 g)</TD>
<TD ALIGN=\"CENTER\">14.50 €</TD>
<TD ALIGN=\"CENTER\">2</TD>
<TD ALIGN=\"RIGHT\">29.00 €</TD>
</TR>
<TR >
<TD ALIGN=\"LEFT\">001D</TD>
<TD ALIGN=\"LEFT\">Chocolats noirs (Ballotin 750 g)</TD>
<TD ALIGN=\"CENTER\">43.50 €</TD>
<TD ALIGN=\"CENTER\">3</TD>
<TD ALIGN=\"RIGHT\">130.50 €</TD>
</TR>
<TR >
<TD ALIGN=\"LEFT\">001C</TD>
<TD ALIGN=\"LEFT\">Chocolats noirs (Ballotin 500 g)</TD>
<TD ALIGN=\"CENTER\">29.00 €</TD>
<TD ALIGN=\"CENTER\">2</TD>
<TD ALIGN=\"RIGHT\">58.00 €</TD>
</TR>
<TR >
<TD ALIGN=\"LEFT\">002A</TD>
<TD ALIGN=\"LEFT\">Chocolats au lait (Ballotin 250 g)</TD>
<TD ALIGN=\"CENTER\">14.50 €</TD>
<TD ALIGN=\"CENTER\">2</TD>
<TD ALIGN=\"RIGHT\">29.00 €</TD>
</TR>
<TR >
<TD ALIGN=\"LEFT\">002B</TD>
<TD ALIGN=\"LEFT\">Chocolats au lait (Ballotin 375 g)</TD>
<TD ALIGN=\"CENTER\">21.75 €</TD>
<TD ALIGN=\"CENTER\">1</TD>
<TD ALIGN=\"RIGHT\">21.75 €</TD>
</TR>
<TR >
<TD ALIGN=\"LEFT\">002C</TD>
<TD ALIGN=\"LEFT\">Chocolats au lait (Ballotin 500 g)</TD>
<TD ALIGN=\"CENTER\">29.00 €</TD>
<TD ALIGN=\"CENTER\">1</TD>
<TD ALIGN=\"RIGHT\">29.00 €</TD>
</TR>
<TR >
<TD ALIGN=\"LEFT\">001B</TD>
<TD ALIGN=\"LEFT\">Chocolats noirs (Ballotin 375 g)</TD>
<TD ALIGN=\"CENTER\">21.75 €</TD>
<TD ALIGN=\"CENTER\">1</TD>
<TD ALIGN=\"RIGHT\">21.75 €</TD>
</TR>
<TR >
<TD ALIGN=\"LEFT\">003C</TD>
<TD ALIGN=\"LEFT\">Chocolats noirs et au lait (Ballotin 500 g)</TD>
<TD ALIGN=\"CENTER\">29.00 €</TD>
<TD ALIGN=\"CENTER\">1</TD>
<TD ALIGN=\"RIGHT\">29.00 €</TD>
</TR>
<TR>
<TD></TD>
<TD></TD>
<TD></TD>
<TD ALIGN=\"RIGHT\"><B>Port :</B></TD>
<TD ALIGN=\"RIGHT\"><B>10.00 €</B></TD>
</TR>

<TR>
<TD></TD>
<TD></TD>
<TD></TD>
<TD ALIGN=\"RIGHT\"><B><U>Total</U> :</B></TD>
<TD ALIGN=\"RIGHT\"><B><U>445.00</U> €</B></TD>
</TR>
</TABLE>

</BODY>
</HTML>
";

$msg="Bonjour, Mr... Voici le récapitulatif de votre commande en fichier joint";

mail_attach("(monemail)" , "olivier" , $msg , $pj, "text/html" , "commande.htm" , "(monemail)" , "(monemail)")

?>

*************************

L'envoi se passe bien car j'ai fait un affichage de base64_decode($fichier)); juste aprés le chunk_split(base64_encode($fichier)); est tout était ok. J'ai même affiché le chunk_split(base64_encode($fichier)) et chaque ligne fait bien 76 caractères.)

Mais à la réception le fichier joint est mal décodé, en fait apparemment, il y a un caractère qui serait supprimé tout les 1024 caractères.
il y a des lignes de 76 caractères (normal)
Et d'autres de 75 caractères (anormal)

**************************
Subject: olivier
To: (email)
Reply-to: (email)
From: (email)
Date: Wednesday 11 February 2004, 14:02
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_parties_020e2c39ea015f67661f20c55004dab6"

This is a multi-part message in MIME format.
Ceci est un message est au format MIME.
------=_parties_020e2c39ea015f67661f20c55004dab6
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Bonjour, Mr... Voici le récapitulatif de votre commande en fichier joint

------=_parties_020e2c39ea015f67661f20c55004dab6
Content-Type: text/html;
name="commande.htm"
Content-Disposition: attachment;
filename="commande.htm"
Content-Transfer-Encoding: base64

DQo8SFRNTD4NCjxIRUFEPg0KPFRJVExFPlZvdHJlIENvbW1hbmRlPC9USVRMRT4NCjwvSEVBRD4N
CjxCT0RZPjxUQUJMRSBXSURUSD0iOTAlIiBCT1JERVI9IjEiIEJPUkRFUkNPTE9STElHSFQ9IiIg
QUxJR049ImNlbnRlciIgU1RZTEU9ImJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7YmFja2dyb3Vu
ZC1jb2xvcjoiPg0KPFRSPg0KPFRIIEFMSUdOPSJMRUZUIiBXSURUSD0iMTAlIj5SRUY8L1RIPg0K
PFRIIEFMSUdOPSJMRUZUIiBXSURUSD0iNTAlIj5MSUJFTExFUzwvVEg+DQo8VEggQUxJR049IkNF
TlRFUiIgV0lEVEg9IjEwJSI+VEFSSUZTPC9USD4NCjxUSCBBTElHTj0iQ0VOVEVSIiBXSURUSD0i
MTAlIj5RVUFOVElURTwvVEg+DQo8VEggQUxJR049IkNFTlRFUiIgV0lEVEg9IjE1JSI+VE9UQUw8
L1RIg0KPC9UUj4NCjxUUiA+DQo8VEQgQUxJR049IkxFRlQiPjAwMkQ8L1REPg0KPFREIEFMSUdO
PSJMRUZUIj5DaG9jb2xhdHMgYXUgbGFpdCAoQmFsbG90aW4gNzUwIGcpPC9URD4NCjxURCBBTElH
Tj0iQ0VOVEVSIj40My41MCCAPC9URD4NCjxURCBBTElHTj0iQ0VOVEVSIj4yPC9URD4NCjxURCBB
TElHTj0iUklHSFQiPjg3LjAwIIA8L1REPg0KPC9UUj4NCjxUUiA+DQo8VEQgQUxJR049IkxFRlQi
PjAwMUE8L1REPg0KPFREIEFMSUdOPSJMRUZUIj5DaG9jb2xhdHMgbm9pcnMgKEJhbGxvdGluIDI1
MCBnKTwvVEQ+DQo8VEQgQUxJR049IkNFTlRFUiI+MTQuNTAggDwvVEQ+DQo8VEQgQUxJR049IkNF
TlRFUiI+MjwvVEQ+DQo8VEQgQUxJR049IlJJR0hUIj4yOS4wMCCAPC9URD4NCjwvVFI+DQo8VFIg
Pg0KPFREIEFMSUdOPSJMRUZUIj4wMDFEPC9URD4NCjxURCBBTElHTj0iTEVGVCI+Q2hvY29sYXRz
IG5vaXJzIChCYWxsb3RpbiA3NTAgZyk8L1REPg0KPFREIEFMSUdOPSJDRU5URVIiPjQzLjUwIIA8
L1REPg0KPFREIEFMSUdOPSJDRU5URVIiPjM8L1REPg0KPFREIEFMSUdOPSJSSUdIVCI+MTMwLjUw
IIA8L1REPg0KPC9UUj4NCjxUUiA+DQo8VEQgQUxJR049IkxFRlQiPjAwMUM8L1REPg0KPFREIEFM
SUdOPSJMRUZUIj5DaG9jb2xhdHMgbm9pcnMgKEJhbGxvdGluIDUwMCBnKTwvVEQ+DQo8VEQgQUxJ
R049IkNFTlRFUiI+MjkuMDAggDwvVEQ+DQo8VEQgQUxJR049IkNFTlRFUiI+MjwvVEQ+DQo8VEQg
QUxJR049IlJJR0UIj41OC4wMCCAPC9URD4NCjwvVFI+DQo8VFIgPg0KPFREIEFMSUdOPSJMRUZU
Ij4wMDJBPC9URD4NCjxURCBBTElHTj0iTEVGVCI+Q2hvY29sYXRzIGF1IGxhaXQgKEJhbGxvdGlu
IDI1MCBnKTwvVEQ+DQo8VEQgQUxJR049IkNFTlRFUiI+MTQuNTAggDwvVEQ+DQo8VEQgQUxJR049
IkNFTlRFUiI+MjwvVEQ+DQo8VEQgQUxJR049IlJJR0hUIj4yOS4wMCCAPC9URD4NCjwvVFI+DQo8
VFIgPg0KPFREIEFMSUdOPSJMRUZUIj4wMDJCPC9URD4NCjxURCBBTElHTj0iTEVGVCI+Q2hvY29s
YXRzIGF1IGxhaXQgKEJhbGxvdGluIDM3NSBnKTwvVEQ+DQo8VEQgQUxJR049IkNFTlRFUiI+MjEu
NzUggDwvVEQ+DQo8VEQgQUxJR049IkNFTlRFUiI+MTwvVEQ+DQo8VEQgQUxJR049IlJJR0hUIj4y
MS43NSCAPC9URD4NCjwvVFI+DQo8VFIgPg0KPFREIEFMSUdOPSJMRUZUIj4wMDJDPC9URD4NCjxU
RCBBTElHTj0iTEVGVCI+Q2hvY29sYXRzIGF1IGxhaXQgKEJhbGxvdGluIDUwMCBnKTwvVEQ+DQo8
VEQgQUxJR049IkNFTlRFUiI+MjkuMDAggDwvVEQ+DQo8VEQgQUxJR049IkNFTlRFUiI+MTwvVEQ+
DQo8VEQgQUxJR049IlJJR0hUIj4yOS4wMCCAPC9URD4NCjwvVFI+DQo8VFIgPg0KPFREIEFMSUdO
PSJMRUZUIj4wMDFCPC9URD4NCjxURCBBTElHTj0iTEVGVCI+Q2hvY29sYXRzIG5vaXJzIChCYWxs
b3RpbiAzNzUgZyk8L1REPg0KPFREIEFMSUdOPSJDRU5URVIiPjIxLjc1IIA8L1REPg0KPFREIEFM
SUdOPSJDRU5URVIiPjE8L1REg0KPFREIEFMSUdOPSJSSUdIVCI+MjEuNzUggDwvVEQ+DQo8L1RS
Pg0KPFRSID4NCjxURCBBTElHTj0iTEVGVCI+MDAzQzwvVEQ+DQo8VEQgQUxJR049IkxFRlQiPkNo
b2NvbGF0cyBub2lycyBldCBhdSBsYWl0IChCYWxsb3RpbiA1MDAgZyk8L1REPg0KPFREIEFMSUdO
PSJDRU5URVIiPjI5LjAwIIA8L1REPg0KPFREIEFMSUdOPSJDRU5URVIiPjE8L1REPg0KPFREIEFM
SUdOPSJSSUdIVCI+MjkuMDAggDwvVEQ+DQo8L1RSPg0KPFRSPg0KPFREPjwvVEQ+DQo8VEQ+PC9U
RD4NCjxURD48L1REPg0KPFREIEFMSUdOPSJSSUdIVCI+PEI+UG9ydCA6PC9CPjwvVEQ+DQo8VEQg
QUxJR049IlJJR0hUIj48Qj4xMC4wMCCAPC9CPjwvVEQ+DQo8L1RSPg0KDQo8VFI+DQo8VEQ+PC9U
RD4NCjxURD48L1REPg0KPFREPjwvVEQ+DQo8VEQgQUxJR049IlJJR0hUIj48Qj48VT5Ub3RhbDwv
VT4gOjwvQj48L1REPg0KPFREIEFMSUdOPSJSSUdIVCI+PEI+PFU+NDQ1LjAwPC9VPiCAPC9CPjwv
VEQ+DQo8L1RSPg0KPC9UQUJMRT4NCg0KPC9CT0RZPg0KPC9IVE1MPg0K

------=_parties_020e2c39ea015f67661f20c55004dab6--
**************************

De plus, durant mes nombreux essais j'ai vu apparaitre des points d'exclamation e position 1024, et ca doit etre lié.

Je ne sais pas quoi faire, pour résoudre se soucis (un fichier joint de ptite taille fonctionne mais le mien et assez important)

J'espere que mes explications ont été assez explicites, dans le cas contraire, n'hésitez pas a me demander des infos complémentaires.

Je vous remercie par avance, pour votre aide.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Salemioche
salemioche
salemioche


Inscrit le: 05 Avr 2002
Messages: 350
Localisation: FR- BIOT

MessagePosté le: Mer Fév 11, 2004 3:58 pm    Sujet du message: Répondre en citant

est ce qu'une variable php peut contenir + de 1024 caractères ?
_________________
Creer son site - Hebergement - Jumeaux
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Yahoo Messenger MSN Messenger
oliv21
dummy mioche
dummy mioche


Inscrit le: 11 Fév 2004
Messages: 2

MessagePosté le: Mer Fév 11, 2004 9:27 pm    Sujet du message: Répondre en citant

Merci de ta réponse.

Je pense que oui car si je fais :
$pj="..bcp de caractères.."

print($pj);

Tout s'affiche à l'écran.

J'ai un p'tit complement d'information.
Je suis en local sous Windows 2000 pro SP4 et j'utilise Easyphp 1.7 (apache 1.3.27, phpmyadmin 2.5.3)

Je n'ai pas pu testé si ma fonction avait le même pb chez un hébergeur.

Car pour l'instant je suis hebergé chez free et la fonction mail est hélas désactivée.

Si qq'un pouvait faire un essai et me dire si chez son hebergeur ca fait la même chose ou ca marche....

Encore merci de votre aide précieuse.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    iprelax.fr Index du Forum -> MIME Toutes les heures sont au format CET (Europe)
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Affilzen SARL : Mention légale