Не работает процессор электронной почты PHP

#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. Это очень хороший комментарий 🙂