#php #forms #email
#php #формы #Адрес электронной почты
Вопрос:
У меня есть некоторый код, который является базовой формой электронной почты. Это не работает. Я знаю, что моя форма работает, потому что это улучшенная версия формы, которую я создал для кого-то другого..
Может быть, уже поздно, и я что-то упустил.
<?php
$subject = 'Contact Form ';
$subject .= $_POST['subject'];
$name = $_POST['name'];
$email = $_POST['email'];
$comments = strip_tags($_POST['comments']);
$url = $_POST['url'];
$to = 'someemail@email.com';
$headers = "From: ".$name." <".$email.">rn";
$headers .= "MIME-Version: 1.0rn";
$headers .= "Content-Type: text/html; charset=ISO-8859-1rn";
mail($to, $subject, $comments, $headers);
?>
Конечно, после того, как я заработаю, я собираюсь принять некоторые меры по борьбе со спамом. Я пытался даже пытался вывести содержимое переменных. Кажется, это как-то связано с $ _POST.
Редактировать: по-видимому, мой хост по умолчанию использует php4, и я использовал «AddHandler x-mapp-php5 .php» в .htaccess для принудительного запуска php5, и это устранило все мои проблемы. 🙂
Комментарии:
1. Можете ли вы объяснить
It's not working
?2. Этот код, кажется, в порядке, проблем нет.
3. Вы проверили свои настройки SMTP?
4. Да, кажется, это работает, если вы не заботитесь о безопасности.
5. Нашел решение и обновил свой первоначальный вопрос, чтобы другие люди увидели решение. Трудно думать, что я иду спать. Завтра я внесу изменения, связанные с безопасностью, такие как меры защиты от нежелательной почты и защита от ввода заголовка.
Ответ №1:
Код, кажется, в порядке. Попробуйте отладить результат отправки почты:
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);
$result = mail($to, $subject, $comments, $headers);
var_dump($result);
Думаю, ваши настройки smtp неверны или не настроены вообще.
Ответ №2:
Пожалуйста, проверьте ваш php.ini http://www.php.net//manual/en/mail.configuration.php
http://www.w3schools.com/php/php_ref_mail.asp
Я думаю, что функция почты отключена на вашем сервере.
Комментарии:
1. Это очень хороший комментарий 🙂