2016-09-06 2 views
0

Я не разбираюсь в PHP и создал эту форму для меня. Он работает в 95% случаев, но иногда ответ на электронную почту будет [email protected]Имя моего сервера отображается в качестве ответчика-ответчика-отправителя от контактного лица PHP. Форма

Я читаю аналогичный issue on this page, но не совсем уверен, что изменить в моей форме ...

<?php 
if (isset($_REQUEST['btnSubmit-group'])) { 
    $date = $_REQUEST['date']; 
    $time = $_REQUEST['time']; 
    $count = $_REQUEST['count']; 
    $name = $_REQUEST['name']; 
    $organization = $_REQUEST['organization']; 
    $email = $_REQUEST['email']; 
    $grouptype = $_REQUEST['grouptype']; 
    $phone = $_REQUEST['phone']; 
    $upgrademus = $_REQUEST['upgrademus']; 
    $upgradeowo = $_REQUEST['upgradeowo']; 
    $comments = $_REQUEST['comments']; 
    $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : ''; 

    if ($count == "" || $name == "" || $email == "" || $phone == "") { 
     echo "All fields are required, please fill out again. "; 
    } else { 
     $to = '[email protected]'; 
     $subject = "Group Tour Inquiry from $name ($date, $count people)"; 
     $from = $to; 
     $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : ''; 

     $body = nl2br("Private Tour:<br>" . 
       "<b>Name:</b> $name\r\n" . 
       "<b>Email:</b> $email \r\n" . 
       "<b>Phone:</b> $phone \r\n" . 
       "<b>Organization:</b>  $organization\r\n" . 
       "<b>Date:</b>  $date\r\n" . 
       "<b>Time:</b>  $Time\r\n" . 
       "<b>Count:</b>  $count\r\n" . 
       "<b>Include:</b>  $upgrademus\r\n" . 
       "<b>Include:</b>  $upgradeowo\r\n" . 
       "<b>Comments:</b>  $comments\r\n" . 
       ""); 
// To send HTML mail, the Content-type header must be set 
     $headers = 'MIME-Version: 1.0' . "\r\n"; 
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
     $headers .= "From: $name<$email> \r\n"; 
     $headers .= "Reply-To: $email \r\n"; 

     if (mail($to, $subject, $body, $headers)) { 
      echo "<div class=\"thankyou\"></div><meta http-equiv='refresh' content='0;url=http://www.example.com/private-group-tours'>"; 
     } 
    } 
} else {} ?> 
+0

Возможно, когда форма подателя помещает что-то недействительное в качестве адреса электронной почты – nogad

ответ

1

Вы пытаетесь отправить по электронной почте, чтобы себя от лица, входя в это, по существу, пытается подменить свою электронную почту, и иногда это будет (должно) быть заблокировано. больше можно прочитать здесь - problem with php mail 'From' header

Изменение:

$headers .= "From: $name<$email> \r\n"; 
    $headers .= "Reply-To: $email \r\n"; 

в

$from = '[email protected]'; 

    $headers .= "From: $from\r\n"; 
    $headers .= "Reply-To: $from \r\n"; 

, а затем редактировать этот статический $ из переменной. Затем выньте электронную почту пользователей из BODY получаемого вами письма и отправьте им электронное письмо.

+0

стандартного подхода к большинству почтовых форм, делает ответ простым – nogad

+0

@Kaylined Спасибо, но для последнего заголовка ответьте, не должно ли оно быть $ email? Как у вас есть, я отвечал на свой собственный адрес электронной почты. Поэтому у меня есть это: $ from = '[email protected]'; $ headers. = "От: $ from \ r \ n"; $ headers. = "Ответ на: $ email \ r \ n"; – Jake

+0

, который будет работать. Только проблема заключается в несоответствии подобной информации, если вы отправляете на сервисы, такие как gmail, вы получите спам-папку. Неужели так сложно «скопировать-вставить» адрес электронной почты из тела? – Kaylined

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

  • Нет связанных вопросов^_^