使用ajax和jquery发送电子邮件

时间:2012-12-01 10:58:13

标签: php jquery ajax

我正在尝试使用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))

2 个答案:

答案 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.');
      }
    }
});