83 votes

Envoyer un email avec PHP à partir d'un formulaire html en le soumettant avec le même script.

Je souhaite envoyer un email avec PHP lorsqu'un utilisateur a fini de remplir un formulaire HTML et d'envoyer par email les informations contenues dans le formulaire. Je veux le faire à partir du même script qui affiche la page web contenant le formulaire.

J'ai trouvé ce code, mais le courrier n'est pas envoyé.

<?php 

if (isset($_POST['submit'])) {
    $to = $_POST['email']; 
    $subject = $_POST['name'];
    $message = getRequestURI();
    $from = "zenphoto@example.com";
    $headers = "From:" . $from;

    if (mail($to, $subject, $message, $headers)) {
        echo "Mail Sent.";
    }
    else {
        echo "failed";
    }
}

?>

Quel est le code pour envoyer un email en PHP ?

1voto

Andrei CACIO Points 1695

Vous avez besoin d'un serveur SMPT pour pouvoir

... mail($to,$subject,$message,$headers);

pour travailler.

Vous pouvez essayer des serveurs SMTP légers comme xmailer

1voto

Voici les paramètres de messagerie PHP que j'utilise :

//Mail sending function
$subject = $_POST['name'];
$to = $_POST['email'];
$from = "zenphoto@example.com";

//data
$msg = "Your MSG <br>\n";       

//Headers
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From: <".$from. ">" ;

mail($to,$subject,$msg,$headers);
echo "Mail Sent.";

-2voto

Je pense que l'une des erreurs du code original aurait pu être qu'il avait :

$message = echo getRequestURI();

au lieu de :

$message = getRequestURI();

(Le code a toutefois été modifié depuis).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X