8795 sujets

Développement web côté serveur, CMS

Bonjour à tous !

Sur mon site personnel, je cherche à mettre en place un formulaire de contact pour qu'on puisse m'envoyer des e-mails.

J'ai donc créé la structure HTML nécessaire et récupéré les données du formulaire en PHP. J'exécute ensuite plusieurs fonctions qui vérifient la conformité de l'adresse e-mail, si il y a un objet de saisi, etc...

J'arrive ensuite à ma fonction d'envoi de mail qui ne semble pas envoyer le mail.

Voici le code PHP de cette fonction (inspirée d'un tutoriel du SDZ) :

function sendMessage($sdMail, $sdSubject, $sdMessage, $sdToMail){
    $txt_message=strip_tags(stripslashes("$sdMessage"));
    $html_message=stripslashes("<html><head><meta charset='utf-8'></head><body>$sdMessage</body></html>");
    $boundary="-----=".md5(rand());
    $msg_subject=stripslashes("$sdSubject");
    //Header
    $header="From: \"$sdMail\"<$sdMail>\n";
    $header.="Reply-to: \"$sdMail\" <$sdMail>\n";
    $header.="MIME-Version: 1.0\n";
    $header.="Content-Type: multipart/alternative;"."\n"." boundary=\"$boundary\"\n";
    $ctMsg="\n--".$boundary."\n";
    //TXT Message
    $ctMsg.="Content-Type: text/plain; charset=\"UTF-8\"\n";
    $ctMsg.="Content-Transfer-Encoding: 8bit\n";
    $ctMsg.="\n".$txt_message."\n";
    $ctMsg.="\n--".$boundary."\n";
    //HTML Message
    $ctMsg.="Content-Type: text/html; charset=\"UTF-8\"\n";
    $ctMsg.="Content-Transfer-Encoding: 8bit\n";
    $ctMsg.="\n".$html_message."\n";
    $ctMsg.="\n--".$boundary."--\n";
    $ctMsg.="\n--".$boundary."--\n";
    //Send
    mail($sdToMail, $sdSubject, $ctMsg, $header);
    //Redirection and notification
    header('location: contact.php?state=4');
}


La redirection tout en bas s'effectue bien, ce qui laisse supposer que tout ce qui se trouve avant s'est exécuté correctement. Le problème c'est que je ne reçoit jamais l'e-mail...

Sauriez-vous m'aider à trouver quel est le problème ?

Merci d'avance Smiley smile
Bonjour,

J'ai finalement trouvé la solution au problème. En fait, il s'agissait d'une mauvaise gestion de la portée de mes variables. En effet, je récupérai hors-fonction toutes les données du formulaire et je ne pouvais pas les exploiter dans les fonctions sans les passer en paramètres...

C'est vrai que je suis débutant en PHP, mais on ne m'a jamais parlé de ça Smiley smile