2013-09-30 2 views
1

Я использую следующий код для отправки электронной почты через контактную форму. Проблема в том, что письма отправляются в спам-бокс каждый раз (в Outlook, Gmail и т. Д.). Я подозреваю, что это связано с тем, что в теле письма есть URL-адрес (URL-адрес веб-страницы). Поэтому мне было интересно, есть ли какое-нибудь решение (кроме того, чтобы пометить эти письма как не спам в gmail и Outlook), чтобы сохранить URL-адрес (я хочу его сохранить), но у вас есть электронные письма, которые не рассматриваются как спам. Может быть, путем повторного построения URL-адреса, чтобы он не выглядел как URL-адрес? Наверняка у крупных компаний есть советы & трюки для этого? Большое спасибоИзбегайте почтовых сообщений, считающихся спамом при отправке через контактную форму PHP.

<?php 
// Email Submit 
// Note: filter_var() requires PHP >= 5.2.0 
if (isset($_POST['email']) && isset($_POST['name']) && isset($_POST['message']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 

    // detect & prevent header injections 
    $test = "/(content-type|bcc:|cc:|to:)/i"; 
    foreach ($_POST as $key => $val) { 
    if (preg_match($test, $val)) { 
     exit; 
    } 
    } 

    //send email 
    mail("[email protected]", "Nouveau message de: ".$_POST['name'], $_POST['message'] ."\n From site: ". $_SERVER['HTTP_REFERER']., "From:" . $_POST['email'] . "\r\n" . "BCC: [email protected]"); 

} 
?> 

ответ

2

Отправить заголовки с ним, как это:

$to  = '[email protected]'; 
$header = "From: [email protected]\r\n"; 
$header.= "MIME-Version: 1.0\r\n"; 
$header.= "Content-Type: text/html; charset=utf-8\r\n"; 
$header.= "X-Priority: 1\r\n"; 

mail($to, $subject, $message, $header); 
+0

Спасибо. Не могли бы вы помочь мне соответствующим образом адаптировать мой код? Синтаксис выглядит совершенно иначе: / – Greg

Смежные вопросы