2017-02-19 15 views
0

После полудня все, Я вытаскиваю свои волосы из-за чего-то, что может быть только глупой ошибкой, но так глупо, что я не могу ее проследить. Я не получаю никаких контактных форм в своем письме, в котором я использую Gmail. В настоящее время я тестирую это на этой странице здесь http://www.theremotedoctor.co.uk/accbmw.html?scrollto=selection И на этот товар для продажи на правой Деве Чип ID Форма затем отображается на экране, клиент заканчивает &. Затем они переводятся на мою страницу с благодарностью, но я никогда не получаю электронную почту.Получите электронную почту через Gmail и php-файл

Вот мой PHP-код.

<?php 

if(isset($_POST['email'])) { 
    // EDIT THE 2 LINES BELOW AS REQUIRED 
    $email_to = "*********gmail.com"; 
    $email_subject = "DR CONTACT FORM"; 

    function died($error) { 
     // your error code can go here 
     echo "We are very sorry, but there were error(s) found with the form you submitted. "; 
     echo "These errors appear below.<br><br>"; 
     echo $error."<br><br>"; 
     echo "Please go back and fix these errors.<br><br>"; 
     die(); 

    } 

    // validation expected data exists 

    if(!isset($_POST['first_name']) || 
     !isset($_POST['last_name']) || 
     !isset($_POST['email']) || 
     !isset($_POST['telephone']) || 
     !isset($_POST['post_code']) || 
     !isset($_POST['delivery_destination']) || 
     !isset($_POST['paypal_email']) || 
     !isset($_POST['part_number']) || 
     !isset($_POST['image_address']) || 
     !isset($_POST['comments'])) { 
     died('We are sorry, but there appears to be a problem with the form you submitted.');  
    } 

    $first_name = strtoupper($_POST['first_name']); // required 
    $last_name = strtoupper($_POST['last_name']); // required 
    $email_from = $_POST['email']; // required 
    $telephone = strtoupper($_POST['telephone']); // not required 
    $post_code = strtoupper($_POST['post_code']); //not required 
    $delivery_destination = strtoupper($_POST['delivery_destination']); // required 
    $paypal_email = $_POST['paypal_email']; //required 
    $part_number = strtoupper($_POST['part_number']); //hidden 
    $image_address = $_POST['image_address']; //hidden 
    $comments = strtoupper($_POST['comments']); // required 
    $error_message = ""; 
    $email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 

    if(!preg_match($email_exp,$email_from)) { 
    $error_message .= 'The Email Address you entered does not appear to be valid.<br>'; 
    } 
    if(!preg_match($email_exp,$paypal_email)) { 
    $error_message .= 'The Paypal Email Address you entered does not appear to be valid.<br>'; 
    } 

    $string_exp = "/^[A-Za-z .'-]+$/"; 

    if(!preg_match($string_exp,$first_name)) { 
    $error_message .= 'The First Name you entered does not appear to be valid.<br>'; 
    } 

    if(!preg_match($string_exp,$last_name)) { 
    $error_message .= 'The Last Name you entered does not appear to be valid.<br>'; 
    } 

    if(strlen($comments) < 2) { 
    $error_message .= 'The Comments you entered do not appear to be valid.<br>'; 
    } 

    if(strlen($error_message) > 0) { 
    died($error_message); 
    } 

    // $email_message = "FORM DETAILS BELOW.\n\n"; 
    function clean_string($string) { 
     $bad = array("content-type","bcc:","to:","cc:","href"); 
     return str_replace($bad,"",$string); 
    } 

    $email_message .= '<html><body>'; 
    $email_message .= '<table rules="all" border="1" cellpadding="10" style="width: 560px; margin: auto; border-collapse: collapse;">'; 
    $email_message .= '<tr><th colspan="2">FORM DETAILS</th</tr>'; 
    $email_message .= '<tr><td style="background-color: #eeeeee"><b>FIRST NAME:</b> </td><td><b>' . clean_string($first_name) . '</b></td></tr>'; 
    $email_message .= '<tr><td style="background-color: #eeeeee"><b>LAST NAME:</b> </td><td><b>' . clean_string($last_name) . '</b></td></tr>'; 
    $email_message .= '<tr><td style="background-color: #eeeeee"><b>EMAIL:</b></td><td><b>' . clean_string($email_from) . '</b></td></tr>'; 
    $email_message .= '<tr><td style="background-color: #eeeeee"><b>TELEPHONE:</b></td><td><b>' . clean_string($telephone) . '</b></td></tr>'; 
    $email_message .= '<tr><td style="background-color: #eeeeee"><b>POST CODE:</b></td><td><b>' . clean_string($post_code) . '</b></td></tr>'; 
    $email_message .= '<tr><td style="background-color: #eeeeee"><b>DELIVERY DESTINATION:</b></td><td><b>' . clean_string($delivery_destination) . '</b></td></tr>'; 
    $email_message .= '<tr><td style="background-color: #eeeeee"><b>PAYPAL EMAIL:</b></td><td><b>' . clean_string($paypal_email) . '<b></td></tr>'; 
    $email_message .= '<tr><td style="background-color: #eeeeee"><b>PART NUMBER:</b></td><td><b>' . clean_string($part_number) . '</b></td></tr>'; 
    $email_message .= '<tr><td style="background-color: #eeeeee"><b>IMAGE ADDRESS FOR:</b></td><td><b><a href="' . $image_address . '" >' . clean_string($part_number) . ' IMAGE</a></b></td></tr>';  
    $email_message .= '<tr><td style="background-color: #eeeeee"><b>COMMENTS:</b></td><td><b>' . clean_string($comments) . '</b></td></tr>';   
    $email_message .= '</table>'; 
    $email_message .= '</body></html>'; 

    // create email headers 
    $headers = 'From: '.$email_from."\n". 
    'Reply-To: '.$email_from."\n" . 
    'X-Mailer: PHP/' . phpversion(); 
    $headers .= "MIME-Version: 1.0\n"; 
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\n";//ISO-8859-1 

    @mail($email_to, $email_subject, $email_message, $headers); 

    header('Location: http://www.theremotedoctor.co.uk/thank_you_page.html'); 
?> 


<?php 
} 
?> 

Просьба сообщить вам, если вы видите что-то не так. Большое спасибо.

+1

Скорее всего ваши сообщения будут отфильтрованы как СПАМ. Вам нужно будет проверить файл журнала ошибок HTTP-серверов. – arkascha

+0

Вы протестировали почтовую программу с минимальным тестовым электронным письмом? Вы подавляете ошибки с помощью @. Как насчет проверки ошибки и сообщить нам об этом. Я всегда использую https://github.com/PHPMailer/PHPMailer – mickmackusa

ответ

0

Попробуйте использовать PHP mail function

Ваш код будет выглядеть следующим образом:

заменить это:

@mail($email_to, $email_subject, $email_message, $headers); 

с этим:

mail($email_to, $email_subject, $email_message, $headers); 

В Gmail создать фильтр для фильтрации все электронные письма с темой «DR CONTACT FORM», которые гарантируют, что ваш ema il не попадает в спам.

Как создать фильтры:

В Gmail перейдите в настройки> Фильтры и блокированных Адреса> Создать новый фильтр> оставить все поля пустыми для субъекта, кроме которых вы должны добавить DR ФОРМУ CONTACT затем нажмите создайте новый фильтр с этим поиском (нижний левый угол), а затем установите флажок, который говорит, что никогда не отправляйте спам> создать фильтр, и все готово!

+0

. Abc трудно не говоря уже об этом php, поскольку я делаю эту третья рука. Вы говорите, что СПАМ - это, прежде чем я даже увижу его в своем электронном письме или его отправленном мне, но потом спам? – user3169014

+0

отправлено вам, но gmail помещается в спам-бокс. Вы пытались использовать почту()? –

+0

Я буду честен помощник это все ново для меня так не в состоянии следовать, однако легко это может быть – user3169014