我正在尝试使用Ajax和jquery发送电子邮件,但即使Ajax请求成功,也不会发送电子邮件。电子邮件系统适用于其他事情,但不适用于我正在制作的回复系统...我的代码如下:
var message = $('#message').val();
var dataString = 'message=' + message ;
$.ajax({
type: "POST",
url: "reply.php",
data: dataString,
cache: false,
success: function(html)
{
// success function
}
});
ajax调用成功并调用成功函数但电子邮件未发送.. php代码如下
$title = "something";
$message = $_POST['message'];
$email = demo@demo
mail($email, "Reply to \"".$title."\"", $message,
"From: \"Ad reply\" <auto-reply@$host>\r\n" .
"X-Mailer: PHP/" . phpversion());
我也完成了...... if(isset($_POST))
。
答案 0 :(得分:0)
您的代码未显示$ host的设置位置。可能是一个畸形的&#34;来自&#34;引起它的地址?
另一方面,将帖子数据直接从表单发送到电子邮件不是一个好主意,您应首先通过一些过滤器运行它,以确保不会在电子邮件中结束令人讨厌的代码。
答案 1 :(得分:0)
尝试使用此代码以确保此功能正常 -
PHP代码:
if(isset($_GET['email'])){
$email = $_GET['email'];
$message = $_GET['msg'];
$to = "demo@example.com";
$subject = "Demo email";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From:' .$email. "\r\n";
mail($to, $subject, $message, $headers);
echo'success';
}
else{ echo'error'; }
AJAX / JQUERY SCRIPT:
email = $("#email").val();
msg = $("#msg").val();
$.ajax({
url: 'ajxContact.php?email='+email+'&msg='+msg,
cache: false,
success: function(html){
if(html == 'error'){
alert("An error occurer and the message can't be sent.");
}
else {
alert('Email has been successfully sent.');
}
}
});