PDA

Voir la version complète : fonction mail de php


ravaza
16/03/2004, 09h18
Bonjour,
je viens de transferer un script mail qui fonctionne en local sur un 60gp mais la ca ne fonctionne plus :(
Je pense qu'il n'y a pas grand chsoer a changer mais je ne vois pas quoi...

SCRIPT PHP:

<?php
//$to="france@terredeslangues.com";
$to="ravaz@univ-tours.fr";
$subject = "Application form";
$corps = "Informations: \n";
$corps .= " _______ \n";
$corps .= "LAST NAME : $lastname \n";
$corps .= "FIRST NAME : $firstname \n";
$corps .= "BIRTHDATE : $birthdate \n";
$corps .= "SEX : $sex \n";
$corps .= "CLASS :$class \n";
$corps .= "Nationality : $nationality \n";
$corps .= "Program reference : $program_reference \n";
$corps .= "Previous stays abroad: $Previous_stays_abroad \n";
$corps .= "Years : $years \n";
$corps .= "country: $pcountry \n";
$corps .= "number of years of french: $number_of_years_of_french \n";
$corps .= "Other languages studied : $other_languages_studied \n";
$corps .= "parents: $parents \n";
$corps .= "father/mother first name: $parents_name \n";
$corps .= "address: $parents_address \n";
$corps .= "zipcode: $parents_zipcode \n";
$corps .= "city & country name: $parents_citycountry_name \n";
$corps .= "home telephone: $parents_homephone \n";
$corps .= "fax number: $parents_fax \n";
$corps .= "business telephone: $parents_businessphone \n";
$corps .= "email: $parents_email \n";
$corps .= "international flight: $international_flight \n";
$corps .= "insurance: $insurance \n";


$header="From:email@mail.com \n";
$header.="Reply-to:webmaster@tonsite.com \n";
$header.="Bcc:tonadresse@email.com";

mail(
$to,
$subject,
$corps,
$header
);
?>





MESSAGE D'ERREUR:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, tech@ovh.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
------------------------------------------------------------------------
Apache/1.3.29 Server at 60gp.ovh.net Port 80




D'avance merci.

khunphil
20/03/2004, 04h35
Commence par essayer de reprendre ton PHP et de virer la plupart des lignes de texte en laissant just un coucou comme message, cela te permettra de savoir si l erreur provient des headers ou autres.
Ensuite, je penserai a une variable mal formee. Rajoute les lignes une par une.
Desole,
pas trop d idees a part ca.
Philippe

ravaza
25/03/2004, 08h57
J'ai toujours le meme probleme mais j'ai acquis une certitude, cela vient du chemin d'accès.

En effet lorsque je place mon formulaire et mon script a la racine du site (dans le dossier www), cela fonctionne parfaitement. Comment expliqer que cela ne fonctionne plus si je le place dans un sous dossier ?


Voici la premiere ligne de formulaire:

<form action="app_form2.php" name="app_form" method="get">

j'ai essayé de mettre le chemin complet pour acceder au php mais rien n'y fait :(

Si qurlqu'un pouvait me debloquer je lui en serai reconnaissant car cette histoire commence a me ronger...

khunphil
25/03/2004, 14h37
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, tech@ovh.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

Ce type d'erreur est souvent cause par un sript mal ecrit. Hors, ton script passe sur d'autres environnement et sur d'autres repertoires. La seule chose a laquelleje pense est les "droits" du script qui doivent etre en 755 soit (rwxr-xr-x), ce qui parlera aux Linuxiens, moins au Windosiens.

Allez dans le logiciel ftp et regarder les scripts qui marchent, et celui qui ne fonctionne pas. Comparer les droits et essayer de les changer. On appelle cela sous Linux un CHMOD. Cette fonction "devrait" exister sur les logiciels ftp Windows.

Good luck,

Philippe

ravaza
25/03/2004, 14h44
Effectivement je peut changer les droits.

Actuellement il est en 644,
j'ai essayé 755 mais rien n'y fait :(

L.Boggio
25/03/2004, 19h58
Je te conseille de faire un 'echo' de $to, $subject, $corps et $header, et de les vérifier avant d'envoyer le mail.
Et avant ça, rajoutes un espace après les ":" de tes headers et tu vires ceux à la fin :
$header="From: email@mail.com\n";
$header.="Reply-to: webmaster@tonsite.com\n";
$header.="Bcc: tonadresse@email.com";
Si ca ne s'améliore pas, poste nous les 'echo' que tu auras obtenu.