无法使用php中的mail()函数发送邮件

时间:2013-11-22 12:50:17

标签: php email

我正在尝试通过邮件获取联系表单详细信息。但是没有使用mail()函数。这是我的代码。

if(isset($_POST['rqsubmit'])) {
    $name = htmlspecialchars($_POST['Field1']);
    $email = trim($_POST['Field2']);
    $phone = trim($_POST['Field3']);
    $msg = strip_tags($_POST['Field4']);
    //echo $name." ".$phone." ".$email." ".$msg;
    $to = 'gowtham@gmail.com';
    //$from = $email;
    $subject = "Software Development";
    $message = "Name:".$name."<br/>Phone".$phone."<br/>Message:".$msg;
    //echo $message;
    $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";   
//echo $message;    
$headers = "From: xyz@gmail.com". "\r\n".
            'Reply-To: xyz@gmail.com' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();    
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";       
    $ok = @mail($to, $subject, wordwrap($message, 70, "\r\n"), $headers);
    if ($ok) {
        echo "<p>Thank you for contacting us!  !!</p>";
    } else {
        echo "<p>Mail could not be sent. Sorry!</p>";
    } 
} else { 
    echo "mail not sent";  
}

我想知道我哪里出错了。任何帮助将受到高度赞赏。谢谢!

2 个答案:

答案 0 :(得分:0)

添加:     'X-Mailer:PHP /'。 phpversion(); 至:     $头

答案 1 :(得分:0)

由于缺少发件人电子邮件地址,可能会被拒绝。

将您自己的电子邮件地址放在From:标题中,然后添加一个包含发件人地址的Reply-To:标题。

我是否可以指出在将表单数据放入电子邮件之前需要彻底检查表单数据。例如,我可以通过将Field2设置为blah@example.com\nBcc: spam1@spam.com, spam2@spam.com, ...之类的内容,轻松地发送电子邮件。

修改 抱歉,我的错误 - 您 添加了From标题。但是,您的邮件服务器很可能配置为拒绝发件人地址不在其已批准发件人列表中的电子邮件。这就是为什么您需要将自己的地址放在From:标题中,以及Reply-To:标题中的发件人地址。

编辑2: 另外,你到底在做什么$mime_boundary?据我所知,您没有发送有效的MIME邮件。