Хорошо, поэтому Ive недавно разработала форму контакта php для партийных запросов.
Форма отправляет один запрос на веб-сайт и одно подтверждение лицу, которое заполняет форму.
В gmail кажется, что оба письма отправляются должным образом. Однако, если вы заполните форму электронной почтой yahoo, она отправит только подтверждение. Не запрос. Это, очевидно, проблематично. Поэтому я пытаюсь понять, почему.
Мой php выглядит следующим образом:
$name = $_POST['name']; $email = $_POST['email']; $phone = $_POST['phone']; $guests = $_POST['guests']; $type = $_POST['type']; $month = $_POST['month']; $day = $_POST['day']; $year = $_POST['year']; $message = $_POST['message']; $formcontent="msg"; $comfirmcontent="msg"; $fromname="mydomain.com"; $fromemail="info@mydomain.com"; $confirmheader= 'From: "' . $fromname . '" <' . $fromemail . '>' . "\r\n" . 'Reply-To: "' . $fromname . '" <' . $fromemail . '>' . "\r\n" . 'X-Mailer: PHP v' . phpversion(); $recipient = "info@mydomain.com"; $subject = "Contact From Website"; $mailheader = "From: $email"; mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); mail($email, $confirmsubject, $comfirmcontent, $confirmheader) or die("Error!"); header('Location: party-form-thank-you.html')
Так что это письмо не отправляется с Yahoo:
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
Но это одно:
mail($email, $confirmsubject, $comfirmcontent, $confirmheader) or die("Error!");
Я думал, это может быть потому, что
'X-Mailer: PHP v' . phpversion();
было определено в электронном письме с подтверждением, поэтому я попытался записать его в $ mailheader
$mailheader = "From: $email" . "\r\n" . 'X-Mailer: PHP v' . phpversion();
… Не работает.
Поэтому я прошу вас всех моих друзей по кодированию о том, почему.
ТИА
@kaiqing
Вы были правы, так как переменные были определены как одно и то же с другим именем, я думаю, что у yahoo была проблема,
Я переписал его так:
$name = $_POST['name']; $email = $_POST['email']; $fromname="BOULETTESLARDER.COM"; $recipient = "info@bouletteslarder.com"; $subject = "Contact From Website"; $mailheader = 'From: "' . $name . '" <' . $email . '>' . "\r\n" . 'X-Mailer: PHP v' . phpversion(); $confirmheader= 'From: "' . $fromname . '" <' . $recipient . '>' . "\r\n" . 'Reply-To: "' . $fromname . '" <' . $recipient . '>' . "\r\n" . 'X-Mailer: PHP v' . phpversion(); mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); mail($email, $confirmsubject, $comfirmcontent, $confirmheader) or die("Error!");
Теперь он будет отправлять и отправлять как электронные письма – на веб-сайт, так и пользователю – если пользователь, заполняющий форму, имеет адрес yahoo.