2013-03-09 5 views
0

Здравствуйте, я защищаю проблему с отправкой моей формы по электронной почте. Я создал форму для отправки значений моей эмали, когда в нажатии кнопки «Отправить» она сообщает мне, что сообщение отправлено, но я не вижу на своем yahoo или gmail электронной почте, я ничего не получаю ...Отправка значений формы по электронной почте

здесь есть моя форма с PHP код:

<?php 
$ToEmail = '[email protected]'; 
$EmailSubject = 'Site contact form'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$MESSAGE_BODY = "Name: ".$_POST["name"].""; 
$MESSAGE_BODY .= "Email: ".$_POST["email"].""; 
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]).""; 
    mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
?> 

<?php 
if ($_POST["email"]<>'') { 
$ToEmail = '[email protected]'; 
$EmailSubject = 'Site contact form'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$MESSAGE_BODY = "Name: ".$_POST["name"].""; 
$MESSAGE_BODY .= "Email: ".$_POST["email"].""; 
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]).""; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
?> 
    Your message was sent 
     <?php 
    } else { 
    ?> 
    <form action="test.php" method="post"> 
    <table width="400" border="0" cellspacing="2" cellpadding="0"> 
    <tr> 
    <td width="29%" class="bodytext">Your name:</td> 
    <td width="71%"><input name="name" type="text" id="name" size="32"></td> 
    </tr> 
    <tr> 
    <td class="bodytext">Email address:</td> 
    <td><input name="email" type="text" id="email" size="32"></td> 
    </tr> 
     <tr> 
    <td class="bodytext">Comment:</td> 
     <td><textarea name="comment" cols="45" rows="6" id="comment" 
    class="bodytext">  
    </textarea></td> 
    </tr> 
    <tr> 
    <td class="bodytext"> </td> 
    <td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td> 
    </tr> 
     </table> 
    </form> 
<?php 
    }; 
    ?> 
+1

Вы должны проверить свой спам-раздел. Письма, отправляемые непосредственно из приложений, на спам, отправленный – Michael

+0

, я проверил, что он пуст – serii

+0

. Помимо всего прочего, вы должны изменить оператор if: if (isset ($ _ POST ["email"]) { –

ответ

0

Вы, вероятно, не имеют правильные параметры SMTP, установленные в вашем php.ini. В любом случае я бы рекомендовал использовать что-то отличное от mail(), так как он более надежен быть надежным. Вместо этого попробуйте что-то вроде this.

Либо это, либо оно просто приземлилось в вашей папке со спамом.

+0

[функция почты] ; Только для Win32. ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25 – serii

+0

вот мои конфигурации smtp – serii

0

Вы отправляете его из Linux? Если да, проверьте /var/log/mail.err и проверьте, не вызывает ли SMTP ошибки.

Для Windows это может быть необходимо установить SMTP-сервер, как Mercury SMTP

+0

Я использую windows – serii

+0

Попробуйте использовать Mercury SMTP. Я не очень хорошо знаком с средой Windows, но это должно выполнить эту работу. Официальный сайт: http://www.pmail.com/ –

0

Рассматривали ли вы с помощью PHP Mailer Class?

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

require_once('class.phpmailer.php'); 
$address = "[email protected]"; 
$name = htmlspecialchars($_POST['name']); 
$email = htmlspecialchars($_POST['email']); 
$subject = htmlspecialchars($_POST['subject']); 
$comment = htmlspecialchars($_POST['comment']); 

$mail = new PHPMailer(); // defaults to using php "mail()" 
$body = $comment; 
$mail->AddReplyTo($email,$name); 
$mail->SetFrom($email,$name); 
$mail->AddReplyTo($email,$name); 
$mail->AddAddress($address, "Your Name"); 
$mail->Subject = $subject; 
$mail->MsgHTML($body); 
if(isset($_POST['submit'])) 
{ 
$mail->Send(); 
} 
0

Рассмотрите возможность использования этой библиотеки: http://code.google.com/a/apache-extras.org/p/phpmailer/

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

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