2014-10-27 152 views
0

我希望将访问者填写的数据副本发送给我自己,并将其他副本发送给访问者。请指教!将ajaxform数据发送到多个电子邮件地址

我的电子邮件地址是[email protected]而访问者的电子邮件是$email

此代码如下所示:

// Set the recipient email address. 
    // FIXME: Update this to your desired email address. 
    $recipient = "[email protected], .$email"; 

我不打提交按钮后得到任何结果!

我将不胜感激!

<?php 
// My modifications to mailer script from: 
// http://blog.teamtreehouse.com/create-ajax-contact-form 
// Added input sanitizing to prevent injection 

// Only process POST reqeusts. 
if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    // Get the form fields and remove whitespace. 
    $name = strip_tags(trim($_POST["name"])); 
      $name = str_replace(array("\r","\n"),array(" "," "),$name); 
    $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL); 
    $message = trim($_POST["message"]); 

    // Check that data was sent to the mailer. 
    if (empty($name) OR empty($message) OR !filter_var($email, FILTER_VALIDATE_EMAIL)) { 
     // Set a 400 (bad request) response code and exit. 
     http_response_code(400); 
     echo "Oops! There was a problem with your submission. Please complete the form and try again."; 
     exit; 
    } 

    // Set the recipient email address. 
    // FIXME: Update this to your desired email address. 
    $recipient = "[email protected], .$email"; 

    // Set the email subject. 
    $subject = "New contact from $name"; 

    // Build the email content. 
    $email_content = "Name: $name\n"; 
    $email_content .= "Email: $email\n\n"; 
    $email_content .= "Message:\n$message\n"; 

    // Build the email headers. 
    $email_headers = "From: $name <$email>"; 

    // Send the email. 
    if (mail($recipient, $subject, $email_content, $email_headers)) { 
     // Set a 200 (okay) response code. 
     http_response_code(200); 
     echo "Thank You! Your message has been sent."; 
    } else { 
     // Set a 500 (internal server error) response code. 
     http_response_code(500); 
     echo "Oops! Something went wrong and we couldn't send your message."; 
    } 

} else { 
    // Not a POST request, set a 403 (forbidden) response code. 
    http_response_code(403); 
    echo "There was a problem with your submission, please try again."; 
} 

?>

+3

改用'$收件人= “[email protected],$电子邮件”;'(去掉点'.' ) – andrew 2014-10-27 11:53:31

回答

0

你必须把myemail和游客在电子邮件一个数组,然后运行一个循环,相同的消息会被发送到所有的阵列。 例如

$aEmails = array(); 
$aEmails[] = '[email protected]'; 
$aEmails[] = '[email protected]'; 

foreach(aEmails AS aEmail){ 
mail($aEmail, $subject, $email_content, $email_headers); 
} 
+0

谢谢。但我需要'[email protected]'作为一个变量。这意味着它应该是'$ email',因为每个访客都会有一个唯一的电子邮件。我如何使用$ email而不是[email protected]来实现? – JMWalker 2014-10-27 13:56:56

+0

然后只是提供一个表格填写并提交或登录该访问者从任何其他网站如脸谱,微博等。这是唯一你可以得到他/她的电子邮件。 – 2014-10-27 14:40:35

+0

非常感谢。我刚刚取代了“$ aEmails [] ='[email protected]';”用“$ aEmails [] = $ email';”它的工作! – JMWalker 2014-10-27 14:51:32

0

如果你没有得到任何结果,那么你必须检查你的HTML表单的标签它应该有method =“POST”属性。

然后在这里取出点

$recipient = "[email protected], .$email"; 

这样

$recipient = "[email protected], $email"; 
相关问题