mein Formular funktioniert wie beabsichtigt, aber aus irgendeinem Grund wird die E-Mail nur an eines meiner E-Mail-Konten gesendet und nicht das andere Ich gebe die richtige E-Mail in das E-Mail-Feld, so dass das Problem nicht ist, kann ich nicht scheinen um zu sehen, wo ich falsch liege, gehe ich davon aus, dass ich $ E-Mail verwende, um die E-Mail-Adresse zu holen, an die die zweite E-Mail gesendet werden soll ... hier ist mein PHP, wo liege ich falsch?Formularpost an mehrere Personen senden 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.');
}
?>
Vielen Dank im Voraus, wenn jemand es
Mögliche Duplikat [PHP Mail an mehrere E-Mail-Adressen senden] (http://stackoverflow.com/questions/4506078/php-send-mail-to-multiple-email-addresses) –
@JamesHunt Ich glaube nicht, dass es ein Duplikat ist - das OP hat die Syntax an Ort und Stelle, aber es ist nicht ganz richtig - Ihr referenziertes Problem ist eine Frage darüber, wie Sie Code erstellen, der ihren Anforderungen entspricht. –
Ich denke, Ihr Problem ist, wie @ chris85 festgestellt hat, dass die Variable '$ email' nicht existiert. Versuchen Sie, diese drei Deklarationen an den Anfang des Dokuments zu verschieben. –