Проблема с контактной формой PHP - PullRequest
0 голосов
/ 24 сентября 2011

http://www.raymondselda.com/php-contact-form-with-jquery-validation/

Я пробую несколько разных форм контактов, включая приведенную выше.

У меня он работает на этой странице: http://themeforward.com/demo2/features/contact-form/

Проблема в том, что эта форма не может успешно отправлять электронные письма на адрес в коде (готовый код можно найти здесь: http://www.raymondselda.com/php-contact-form-with-jquery-validation/)

Кто-нибудь знает, в чем может быть проблема?

//If there is no error, send the email
    if(!isset($hasError)) {
        $emailTo = 'youremail@email.com'; //Put your own email address here
        $body = "Name: $name \n\nEmail: $email \n\nSubject: $subject \n\nComments:\n $comments";
        $headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;

        mail($emailTo, $subject, $body, $headers);
        $emailSent = true;

1 Ответ

3 голосов
/ 24 сентября 2011

Множество причин:

  1. Почта не настроена должным образом на вашем сервере.mail() вернет логическое значение ЛОЖЬ, если не удастся передать сообщение на SMTP-сервер.Вы не проверяете это условие
  2. SMTP-сервер не настроен должным образом, чтобы вы могли отправлять через него
  3. Сервер-получатель содержит отправляющий сервер в черном списке
  4. электронная почта воспринимается как спам и становится ненужной

Первое место, с которого нужно начать поиск, - это возвращаемое значение mail ().Затем посмотрите журнал вашего SMTP-сервера, чтобы увидеть, что происходит с электронной почтой (если) после того, как PHP ее передал.В журнале SMTP-сервера также будет указано, получил ли сервер-получатель отказ / отклонил его.

Если его тихо перебрасывают в папку со спамом на сервере-получателе, на вашем конце НЕТ доказательств этого, и выПридется провести дальнейшее расследование на стороне получателя.

Электронная почта - сложный бизнес, включающий множество отдельных шагов, каждый из которых должен работать правильно.Любые глюки в любом месте линии и электронная почта, вероятно, исчезли.Вы должны исследовать, что происходит на КАЖДОЙ из этих стадий, чтобы выяснить, почему что-то не доставляется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...