код не будет заполнять электронную почту

создал простой небольшой php-код для заполнения электронной почты адресом электронной почты и информацией из текстового поля в форме. изначально он работал, когда я вызывал скрипт из html-формы, но как только я преобразовал свой сайт в PHP, он перестал работать. В конце концов я хотел бы поместить эту же информацию в таблицу базы данных, но сейчас я был бы доволен, просто заставив электронную почту работать.

Когда форма отправлена, я получаю адрес электронной почты от клиента, но я не получаю информацию из текстового поля. вот мой код.

<?php
$email = $_POST['email'];
$message = $_POST['message'];
mail( "[email protected]", "Service Request", "From: $email",
$message );
header( "Location: http://www.sixtoed-design.com/thankyou.php" );
?>

Как я уже сказал, это очень простой код, и он отлично работал до того, как я полностью перевел свой сайт на PHP. Ниже мой код для формы, если вам это нужно.

<form method="POST" action="sendmail.php" enctype="multipart/form-data">
  Email: <input name="email" type="text" /><br />
  Message:<br />
  <textarea name="message" rows="15" cols="40">
  </textarea><br />
  <input name="" type="submit" value="Send Email">
</form>

person Efwis    schedule 01.05.2012    source источник
comment
Вы пытались вызвать var_dump($_POST); или проверили выбранную вами утилиту разработчика, чтобы убедиться, что поле message публикуется?   -  person rjz    schedule 01.05.2012


Ответы (1)


Вы неправильно используете функцию почты. см. документацию.

Третий параметр должен быть сообщением, и вы отправляете его как заголовок в 4-м параметре, поэтому:

mail( "[email protected]", "Service Request", $message, "From: $email" );

См. пример 2 в документации.

person Ben    schedule 01.05.2012
comment
спасибо, Бен, внес изменения, и все сработало отлично, удивительно, как что-то настолько простое может испортить весь сценарий. - person Efwis; 01.05.2012