我的表單按預期工作,但出於某種原因,電子郵件只會發送到我的一個電子郵件帳戶,而不是其他電子郵件地址,所以我不能將這個問題放在電子郵件字段中。看我要去哪裏錯我假設這是因爲我使用$電子郵件搶到電子郵件地址第二封電子郵件假設去...這裏是我的PHP我在哪裏出錯了?發送表單郵件給多個人PHP?
<?php
$from = 'Pixel Wars - Press Inquiry';
$to = "[email protected], $email";
$subject = 'Press Inquiry from Pixelwars.com';
function errorHandler ($message) {
die(json_encode(array(
'type' => 'error',
'response' => $message
)));
}
function successHandler ($message) {
die(json_encode(array(
'type' => 'success',
'response' => $message
)));
}
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$body = "Name: $name\r\n Email: $email\r\n\r\n Message:\r\n $message";
$pattern = '/[\r\n]|Content-Type:|Bcc:|Cc:/i';
if (preg_match($pattern, $name) || preg_match($pattern, $email) || preg_match($pattern, $message)) {
errorHandler('Header injection detected.');
}
// Check if name has been entered
if (!$_POST['name']) {
errorHandler('Please enter your name.');
}
// Check if email has been entered and is valid
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
errorHandler('Please enter a valid email address.');
}
// Check if message has been entered
if (!$_POST['message']) {
errorHandler('Please enter your message.');
}
// prepare headers
$headers = 'MIME-Version: 1.1' . PHP_EOL;
$headers .= 'Content-type: text/plain; charset=utf-8' . PHP_EOL;
$headers .= "From: $name <$email>" . PHP_EOL;
$headers .= "Return-Path: $to" . PHP_EOL;
$headers .= "Reply-To: $email" . PHP_EOL;
$headers .= "X-Mailer: PHP/". phpversion() . PHP_EOL;
// send the email
$result = @mail($to, $subject, $body . "\r\n\n" .'------------------ '. "\r\n\n" .'Hello '.$name.' we will contact you as soon as possible about your query.' ."\n". 'Dont forget to keep visiting www.pixelwars.com for more updates and awesome content.' ."\n". 'We will email you back on the provided email below, thank you and have a nice day.' . "\r\n\n" .'-- '.$email, $headers);
if ($result) {
successHandler('Thank You! we will be in touch');
} else {
errorHandler('Sorry there was an error sending your message.');
}
} else {
errorHandler('Allowed only XMLHttpRequest.');
}
?>
謝謝你在前進,如果任何人都可以破解它
的可能的複製[PHP郵件發送到多個電子郵件地址(http://stackoverflow.com/questions/4506078/php-send-mail-to-multiple-email-addresses) –
@JamesHunt我不認爲它是重複的--OP的語法已經到位,但它不是很正確 - 你引用的問題是關於如何創建符合他們需求的代碼的問題。 –
我認爲你的問題正如@ chris85所述,'$ email'變量不存在。嘗試將這三個聲明移到文檔的開頭。 –