J'utilise le code suivant pour envoyer un mail après la soumission d'un formulaire avec la classe PHP mailer https://github.com/Synchro/PHPMailer. Le courrier envoie et est reçu avec succès. La seule chose qui ne fonctionne pas est la suivante:
$mail->From = $email;
$email
est le courriel qu'un utilisateur entrera sur le formulaire (il est défini avec un $_POST
variable). J'aimerais que l'e-mail apparaisse comme provenant de l'utilisateur qui a rempli le formulaire. Je peux donc cliquer sur Répondre et le faire parvenir à leur adresse électronique.
Cependant, l'adresse e-mail "De" est définie comme $mail->Username
, c’est-à-dire le nom d’utilisateur du compte gmail à partir duquel le script PHPMailer envoie.
Qu'est-ce que je fais de mal ici et comment puis-je faire fonctionner l'en-tête d'e-mail De?
En outre, j'utilise Gmail pour recevoir le courrier - peut-être y at-il un paramètre de sécurité de Gmail qui ne permettra pas à l'e-mail "De" d'être "falsifié" ???
Merci!
$email = $_POST["email"];
$name = $_POST["moveName"];
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = "example@gmail.com";
$mail->Password = "password";
$mail->From = $email;
$mail->FromName = $name;
$mail->AddAddress("me@gmail.com");
$mail->AddReplyTo($email, $name);
$mail->IsHTML(true);
$mail->Subject = "Quote Request";
$mail->Body = "hey";
$mail->Send();
Réponses:
3 pour la réponse № 1Avec gmail, vous devez commencer par configurer une adresse électronique comme étant autorisée "$ mail-> à partir de". Cette entrée de FAQ explique comment faire: https://support.google.com/mail/answer/22370?hl=en