phpmailer适用于localhost但不适用于实时服务器

时间:2017-06-23 10:45:14

标签: php ajax amazon-ec2 server

我有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';
}

}

1 个答案:

答案 0 :(得分:0)

我认为php无法正常工作。您是否正确配置了Web服务器?确保在Web服务器中安装并启用了php。如果您使用的是Apache,请检查已安装的mod_php。在Nginx中,选中php5-fpm