首页 > 解决方案 > 想向填写表格的人发​​送电子邮件,并向网站管理员发送一封电子邮件以回复客户

问题描述

想向填写表格的人发​​送电子邮件,并向网站管理员发送一封电子邮件以回复客户。代码正确发送给填写表格的人,但没有发送给管理员。请参阅下面的代码。

<?php

$EmailFrom = "jason@mysite.com";
$EmailTo = stripslashes($_POST['email']);
$Subject = stripslashes($_POST['subject']);
$Name = Trim(stripslashes($_POST['author'])); 
$Email = Trim(stripslashes($_POST['email']));
$Message = Trim(stripslashes($_POST['message'])); 



// validation
$validationOK=true;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}

// prepare email body text
$Body = '';
$Body .= "Thank you for contacting us! One of our staff will contact you soon.";
$Body .= "\n";
$Body .= "\n";
$Body .= "";
$Body .= "\n";
$Body .= "\n";
$Body .= "----------------------------";
$Body .= "\n";
$Body .= "Subject: ";
$Body .= $Subject;
$Body .= "\n";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";

ini_set($EmailFrom, $EmailTo);
// send email 
$success = mail($EmailTo, $Subject, $Body, 'From: ' . $EmailFrom);

// redirect to success page 
if ($success){
  echo "Thank you for contacting us!";
}
else{
  echo "Please Try Again.";
}
?>

标签: phphtmlformsemailphpmailer

解决方案


这没有做任何有用的事情:

ini_set($EmailFrom, $EmailTo);

所以不要这么叫。如果您想发送两条消息(而不是同一条消息的 2 个副本),请mail()使用不同收件人地址再次调用(假设您$EmailFrom的地址是管理员的地址):

$success = mail($EmailFrom, $Subject, $Body, 'From: ' . $EmailFrom);

也就是说,您最好查看您标记此问题的PHPMailer,因为这样可以更轻松地安全地发送给多个收件人。


推荐阅读