Я пытаюсь запустить форму электронной почты, которая берет текст из форм ввода пользователя и отправляет их на нужное вам электронное письмо (рассматривается как $ myemail в php ниже).Почему этот код электронной почты не работает?
<form method="post" name="contact_form" action="Contact.php">
Your Name: <input type="text" required name="name">
Email Address: <input type="text" required name="email">
Message: <textarea required name="message"></textarea>
<input type="submit" value="Submit">
</form>
<?php
$errors = '';
$myemail = 'enterDesiredEmail';
if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['message'])) {
$errors .= "\n Error: all fields are required";
}
$name = null;
$email_address = null;
$message = null;
$name = $_POST["name"];
$email_address = $_POST["email"];
$message = $_POST["message"];
if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",$email_address)) {
$errors .= "\n Error: Invalid email address";
}
if(empty($errors)) {
$to = $myemail;
$email_subject = "Contact form submission: $name";
$email_body = "You have received a new message. ".
" Here are the details:\n Name: $name \n ".
"Email: $email_address\n Message \n $message";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
}
?>
Я выплюнул вышеуказанный код на веб-страницу и загрузил файл на свой сервер. При доступе к веб-странице в Интернете, заполнении содержимого формы и нажатии sbmit, страница обновляется с входами и текстовыми полями, как и ожидалось. Когда я проверил сообщение электронной почты, которое я установил, сообщение не было получено. Что я могу сделать, чтобы исправить этот код, чтобы на самом деле адрес электронной почты получал сообщение?
Большое спасибо.
Команда mail требует, чтобы был настроен sendmail или какой-либо другой почтовый сервер. –
Попробуйте добавить тип в свой заголовок, чтобы сервер знал, как обрабатывать сценарий. По типу я имею в виду, если это html-адрес электронной почты или просто текст. Во-вторых, создайте экземпляр переменной для функции почты. Он возвращает true, если почта была отправлена, а false - в противном случае. Например $ send = mail (....): if ($ sent) do stuff .... надеюсь, это поможет –
Вам нужно поместить '\ r \ n' между полями заголовка, а не просто' \ n'. – Barmar