我有ajax和phpmailer的表单。
在localhost上一切都很棒。我收到响应(来自php文件的回声)并收到邮件。
在现场,我没有收到邮件,作为回复,我得到了整个php文件。
我使用亚马逊服务器。
我的想法是这与服务器有关,但我不知道从哪里开始。
这里是ajax函数
$.ajax({
url: 'mail/contact_me.php',
type: 'POST',
dataType:'text',
data: {data: JSON.stringify(getData())},
success:function(response){
$('#success').text(response);
}
});
和phpfile
<?php
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'myemail@gmail.com';
$mail->Password = 'mypassword';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->setFrom('myemail@gmail.com','name');
$mail->addAddress('myemail@gmail.com');
$mail->addReplyTo('someemail@gmail.com');
$mail->isHTML(true);
$mail->Subject = 'My Subject';
$mail->Body = $message;
if (!$mail->send()) {
echo 'Error';
} else {
echo ' Thank you for contact us';
}
}
答案 0 :(得分:0)
我认为php无法正常工作。您是否正确配置了Web服务器?确保在Web服务器中安装并启用了php。如果您使用的是Apache,请检查已安装的mod_php
。在Nginx中,选中php5-fpm