【发布时间】:2017-11-26 22:05:14
【问题描述】:
我使用 ajax 和 phpmailer 提交表单。
在本地主机上一切正常。我收到响应(来自 php 文件的回显)并收到邮件。
在现场,我没有收到邮件,作为响应,我得到了整个 php 文件。
我使用亚马逊服务器。
我的想法是这与服务器有关,但我不知道从哪里开始。
这里是ajax函数
$.ajax({
url: 'mail/contact_me.php',
type: 'POST',
dataType:'text',
data: {data: JSON.stringify(getData())},
success:function(response){
$('#success').text(response);
}
});
和 php 文件
<?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';
}
}
【问题讨论】:
-
一模一样,检查this
-
服务器是否支持PHP mail()函数?
-
你得到了php文件的来源?你使用的服务器可以运行php文件吗?
-
检查 PHP-fpm 是否在您的服务器上运行。
标签: php ajax amazon-ec2 server