Как я могу исправить эту проблему с почтовой формой PHP?

На моем веб-сайте есть контактная форма php. Однако, когда мои клиенты вводили свой адрес электронной почты и отправляли свое сообщение, я получил ответ на свое собственное электронное письмо. Например, если они введут [email protected], я получу электронное письмо как [email protected] .... Как я могу это исправить, чтобы в разделе ответа отображалось электронное письмо, введенное клиентом? Спасибо.

Вот мой код для моей контактной формы

<form action="php/contact.php" method="post" class="contactForm" id="contactForm">
                            <fieldset>
                                <div class="formValidationError bg-red-dark color-white" id="contactNameFieldError">
                                    <p class="center-text uppercase small-text">Name is required!</p>
                                </div>             
                                <div class="formValidationError bg-red-dark color-white" id="contactEmailFieldError">
                                    <p class="center-text uppercase small-text">Mail address required!</p>
                                </div> 
                                <div class="formValidationError bg-red-dark color-white" id="contactEmailFieldError2">
                                    <p class="center-text uppercase small-text">Mail address must be valid!</p>
                                </div> 
                                <div class="formValidationError bg-red-dark color-white" id="contactMessageTextareaError">
                                    <p class="center-text uppercase small-text">Message field is empty!</p>
                                </div>   
                                <div class="formFieldWrap">
                                    <label class="field-title contactNameField" for="contactNameField">Name:<span>(required)</span></label>
                                    <input type="text" name="contactNameField" value="" class="contactField requiredField" id="contactNameField"/>
                                </div>
                                <div class="formFieldWrap">
                                    <label class="field-title contactEmailField" for="contactEmailField">Email: <span>(required)</span></label>
                                    <input type="text" name="contactEmailField" value="" class="contactField requiredField requiredEmailField" id="contactEmailField"/>
                                </div>
                                <div class="formTextareaWrap">
                                    <label class="field-title contactMessageTextarea" for="contactMessageTextarea">Message: <span>(required)</span></label>
                                    <textarea name="contactMessageTextarea" class="contactTextarea requiredField" id="contactMessageTextarea"></textarea>
                                </div>
                                <div class="formSubmitButtonErrorsWrap">
                                    <input type="submit" class="buttonWrap button button-grey contactSubmitButton" id="contactSubmitButton" value="SUBMIT" data-formId="contactForm"/>
                                </div>
                            </fieldset>
                        </form>       

Также вот код для скрипта PHP

<?php
// variables start
$name = "";
$email = "";
$message = "";

$name =  trim($_POST['contactNameField']);
$email =  trim($_POST['contactEmailField']);
$message =  trim($_POST['contactMessageTextarea']);
// variables end

// email address starts
$emailAddress = '[email protected]';
// email address ends

$subject = "Mywebsite.com | Mobile - Message From: $name";  
$message = "<strong>From:</strong> $name <br/> <strong>E-Mail:</strong> $email </br><br/> <strong>Message:</strong> $message";

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

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

//send email function starts
mail($emailAddress, $subject, $message, $headers);
//send email function ends

?>


person user6505472    schedule 28.06.2016    source источник
comment
вы пробовали ответить и посмотреть, куда это пошло? твои заголовки кажутся мне нормальными   -  person Ctc    schedule 28.06.2016


Ответы (1)


В вашем коде вы не добавляли строку заголовка, вы просто сбрасывали ее каждый раз. То, что вы наконец отправляете в почтовую функцию в переменной заголовка, просто;

'Content-type: text / html; charset = iso-8859-1 '. "\ r \ n"

Вам нужно либо установить $ headers =, либо изменить знак равенства, чтобы он выглядел так: $ headers. =

Это означает, что он добавится к String. Или просто отформатируйте его как одну массивную строку.

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

$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

//send email function starts
mail($emailAddress, $subject, $message, $headers);
person StormBurpee    schedule 28.06.2016
comment
Когда я делаю то, что вы предложили, электронное письмо даже не попадает в мой почтовый ящик ... что-то еще, что вы думаете, могло быть неправильным? Когда я снимаю точку. = И просто использую знак =, электронное письмо приходит в мой почтовый ящик. - person user6505472; 29.06.2016
comment
@ user6505472 Я думаю, что ваши заголовки немного ошибочны. В заголовке from попробуйте просто установить его как адрес электронной почты, удалить переменную имени и символы ‹›, на веб-сайте php объясняется, как делать то, что вы делаете php.net/manual/en/function.mail.php посмотрите на пример 2 - person StormBurpee; 29.06.2016