在jQuery中使用PHP邮件函数的小问题
使用PHP mail函数和jQuery提交电子邮件联系人表单时,我遇到以下错误: SMTP服务器响应:554邮件被拒绝,因为第26行的mail.php中包含禁止的病毒或垃圾邮件内容 下面是我用于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
$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,我过去也遇到过问题,因为邮件的正文是空的,所以服务器会阻止邮件。。