Форма PHP - Проблема с ответным письмом
Контактная форма работает просто отлично, но я не могу понять, как настроить "ответное письмо". Код PHP выглядит следующим образом:
<?php
// Get Data
$name = strip_tags($_POST['name']);
$email = strip_tags($_POST['email']);
$message = strip_tags($_POST['message']);
// Send Message
mail( "Message from $name",
"Name: $name\nEmail: $email\nMessage: $message\n",
"From: $name <forms@example.net>" );
?>
Я попытался заменить "forms@example.com" на электронную почту $, но по какой-то причине он вылетает и никогда ничего не отправляет.
3 ответа
Это просто Reply-to: reply@example.com
заголовок, который вы пропустили в своем блоке заголовков? Кроме того, похоже, что вы пропустили первый параметр mail()
функция, которая должна быть адресом, на который она отправлена.
Добавить Reply-to
заголовок в третий параметр для mail()
,
// Send Message
mail($to_address, "Message from $name",
// Message
"Name: $name\nEmail: $email\nMessage: $message\n",
// Additional headers
"From: $name <forms@example.net>\r\nReply-to: reply@example.com"
);
РЕДАКТИРОВАТЬ Я пропустил запятую в вопросе и подумал, что весь блок это сообщение, включая имя и от. Отредактировано выше. Я вижу, у вас уже был блок заголовка.
Возьми этот фрагмент:
<?php
//define the receiver of the email
$to = 'youraddress@example.com';
//define the subject of the email
$subject = 'Test email';
//define the message to be sent. Each line should be separated with \n
$message = "Hello World!\n\nThis is my first mail.";
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
echo $mail_sent ? "Mail sent" : "Mail failed";
?>
В вашем коде вы пропустили первый аргумент, ведь кто должен.
Вы не используете правильные параметры для функции почты. Посмотрите на документацию
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
В вашем случае это будет:
mail( $to,
$subject,
$message,
"From: $name <forms@example.net>" );
Предполагая, что вы дали ему $to (который обозначает, кому отправлять письмо) и $subject (тема письма).