Почему мой PHP-скрипт не отправляет электронную почту? - PullRequest
0 голосов
/ 29 марта 2012

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

<?php
if($_SERVER['REQUEST_METHOD'] == "POST") 
{
    $message_body = 'First Name: ' . $_POST['firstName'] . '
            Last Name: ' . $_POST['lastName'] . '
            Email: ' . $_POST['email'] . '
            Company: ' . $_POST['company'] . '
            Phone: ' . $_POST['phone'] . '
            Services: ' . $_POST['serviceAreas'] .'
            Message: ' . $_POST['comments'];

    $to      = 'marvin.fai2@gmail.com';
    $subject = 'MobilizeWorldwide.com Contact Submission';
    $message = $message_body;
    $headers = 'From: info@mobilizeworldwide.com' . "\r\n" .
            'Reply-To: ' . $_POST['email'] . "\r\n" .
            'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);

    header('Location: ' . $_POST['thankspage']);
}
else
{
    echo 'There is no post information.';
}

HTML:

 <form method="post" action="email.php">
          <input type="text" name="firstName" placeholder="First name" required>
          <input type="text" name="lastName" placeholder="Last name" required>
          <input type="text" name="email" placeholder="Email Address" required>
          <input type="text" name="company" placeholder="Company">
          <input type="text" name="phone" placeholder="Phone Number">
          <fieldset>
            <legend>Please indicate service areas of interest, and select all that apply:</legend>
            <input id="airFrame" name="serviceArea" type="checkbox">
            <label for="airFrame">VISA</label>
            <input id="compMaint" name="serviceArea" type="checkbox">
            <label for="compMaint">AmEx</label>
            <input id="engineAPU" name="serviceArea" type="checkbox">
            <label for="engineAPU">Mastercard</label>
            <input id="engineAPULeas" name="serviceArea" type="checkbox">
            <label for="engineAPULeas">VISA</label>
            <input id="lMaint" name="serviceArea" type="checkbox">
            <label for="lMaint">AmEx</label>
            <input id="gTS" name="serviceArea" type="checkbox">
            <label for="gTS">Mastercard</label>
            <input id="onW" name="serviceArea" type="checkbox">
            <label for="onW">VISA</label>
            <input id="train" name="serviceArea" type="checkbox">
            <label for="train">AmEx</label>
          </fieldset>
          <textarea id="comments" name="comments" placeholder="Comments" rows="8"></textarea>
          <button type="submit" value="Submit" name="submit">
        </form>

1 Ответ

0 голосов
/ 29 марта 2012

я не рассмотрел вашу HTML-форму, так как считаю, что ваш метод post работает нормально, а email.php получает все значения, как вы установили, здесь, в моем случае, я предполагаю фиктивные значения для проверки вашего скрипта,

<?php

$message_body = 'First Name: ' . "tariq" . '
        Last Name: ' . "sarwar" . '
        Email: ' . "mts@gmail.com" . '
        Company: ' . "renai" . '
        Phone: ' . "123456" . '
        Services: ' . "abcdef" .'
        Message: ' . "Test message" ;

$to      = 'mtarik.sarwar@gmail.com';
$subject = 'MobilizeWorldwide.com Contact Submission';
$message = $message_body;
$headers .= 'From: "user" <user@domain.com>' . "\r\n";

if (mail ($ to, $ subject, $ message, $ headers)) echo "msg sent";else echo 'Информация о публикации отсутствует.';

?>

, как я уже упоминал ранее, я получил результаты, но как спам для gmail и отлично работает для других почтовых серверов;

enter image description here

...