在jQuery中使用PHP邮件函数的小问题

在jQuery中使用PHP邮件函数的小问题,php,jquery,email,function,Php,Jquery,Email,Function,使用PHP mail函数和jQuery提交电子邮件联系人表单时,我遇到以下错误: SMTP服务器响应:554邮件被拒绝,因为第26行的mail.php中包含禁止的病毒或垃圾邮件内容 下面是我用于PHP的代码: $mailTo = "info@***.com"; $mailFrom = $_POST['email']; $subject = "RFP Inquiry"; $message = $_POST['message']; mail($mailTo, $su

使用PHP mail函数和jQuery提交电子邮件联系人表单时,我遇到以下错误:

SMTP服务器响应:554邮件被拒绝,因为第26行的mail.php中包含禁止的病毒或垃圾邮件内容

下面是我用于PHP的代码:

   $mailTo = "info@***.com";
   $mailFrom = $_POST['email'];
   $subject = "RFP Inquiry";
   $message = $_POST['message'];


   mail($mailTo, $subject, $message, "From: ".$mailFrom);
以下是我用于jQuery AJAX调用的代码:

    //var name = $("#contactname").val();
var email = $("#email").val();
var message = $("#subject").val();
//var age = $("#message").val();
   var datastr ='email=' + email + 'message=' + message;


  $('#submit').click(function(){

$.ajax({
type: "POST",
url: "mail.php",
data: datastr,
cache: false,
 error: function () {

    alert('did not go thru');
   },
success: function(html){
//$("#response").fadeIn("slow");
$("#tab1").html(html);
//setTimeout('$("#response").fadeOut("slow")',2000);
alert('mail sent');
}
});


 });

您的
datastr
中缺少一个与符号:

var datastr ='email=' + email + 'message=' + message;
应该是

var datastr ='email=' + email + '&message=' + message;
更新

SMTP错误来自SMTP服务器,因此您应该与运行该错误的人联系,了解他们为检测垃圾邮件设置了哪些标准

我的猜测是,没有正文的电子邮件根据其定义构成垃圾邮件。上面的
datastr
错误将导致空正文。此外,如果您在进行测试时没有在
消息
文本框中放入任何文字,也会导致正文长度为零

注意。。。我在猜测为什么你的邮件被认为是垃圾邮件。。。请与SMTP服务器所有者联系以了解更多信息。

我更喜欢使用:

data: ({email : $("#email").val(), message: $("#message").val()}),
问题可能发生在您的邮件功能中。
如果您发布邮件功能的代码,就会更加清晰。

以下是完整的邮件功能代码。第一部分被注释掉了,我认为它有问题

    <?php
/*
    $name = $_POST['name'];
    $visitor_email = $_POST['email'];
    $message = $_POST['message'];

    $email_from = "info@***.com";
    $email_from2 = $visitor_email;
    $email_subject = "Inquiry";
    $email_body = "here is the body of the message".


    $to = "info@***.com";
    $headers = "From: $email_from";
    //$headers .= "Reply-To: $visitor_email";
    //Send email!
    mail($to,$email_subject,$email_body,$headers);
*/

$mailTo = "info@***.com";
$mailFrom = $_POST['email'];
$subject = "Inquiry";
$message = $_POST['message'];


mail($mailTo, $subject, $message, "From: ".$mailFrom);
?>

NB:这可能不是全部解决方案。。。但是这是一个startyeah,我过去也遇到过问题,因为邮件的正文是空的,所以服务器会阻止邮件。。