2012-10-03 72 views
0

我在通过我的联系表格发送电子邮件时遇到问题 我无法确定问题出在哪里,我认为我已经做好了所有事情,但我在这里接受建议,希望您能帮助您我。提交联系表

<?php 
    if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['body']) && isset($_POST['subject'])){ 
     $name = $_POST['name']; 
     $email = $_POST['email']; 
     $message = $_POST['body']; 
     $subject = $_POST['subject']; 
     $to = '[email protected]'; 
     $header = 'From: '.$name.'<'.$email.'>'; 
     if(!empty($name) && !empty($email) && !empty($body)){ 
      mail($to, $subject, $message,$header); 
      echo 'An e-mail have been sent successfully'; 
     } 
     else{ 
      echo 'Please try sending e-mail again'; 
     } 
    } 
?> 
+0

你得到了什么错误? –

+1

@ user1716641 ...您是否检查邮件设置是否在服务器上启用? –

+0

标题是否需要以“\ r \ n”结尾?尝试将$ header更改为''From:'。$ name。' <'.$email.'>'。 “\ r \ n”;' –

回答

0

请确保您检查每个字段(出于安全原因),那么做的价值:

<?php 
    if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['body']) && !empty($_POST['subject'])){ 
     $name = $_POST['name']; 
     $email = $_POST['email']; 
     $message = $_POST['body']; 
     $subject = $_POST['subject']; 
     $to = '[email protected]'; 
     $header = 'From: '.$name.' <'.$email.'>'."\r\n"; 
     if (mail($to, $subject, $message, $header)) 
     { 
      echo 'An e-mail have been sent successfully'; 
     } 
     else 
     { 
      echo 'Please try sending e-mail again'; 
     } 
    } 
?>