504 PHP Mail / EC2上的网关超时错误

时间:2018-05-10 09:19:19

标签: php email

我尝试使用php的mail()函数发送电子邮件。

它在我的本地环境(macos)中运行良好。 在EC2(ubuntu 16.0.6 LTS)中,发送邮件但发生504错误。

504 Gateway Time-out
nginx/1.10.3 (Ubuntu)

我查了一下这些东西:

  • php.ini:smtp_port 25
  • 打开SMTP端口25(入站,出站在VPC和sequrity组)

我的php代码:

<?php

$message = $_POST['message'];

$to = "sample@example.com";
$charset = 'UTF-8';

$subject="subject example";

$message = "
<html>
    <head>
    <title>HTML email</title>
    </head>
    <body>
        <p><b>message</b></p>
        <p>$message</p>
    </body>
</html>
";

// headers
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <'sample@example.com'>' . "\r\n";

mail($to, $subject, $message, $headers);
?>

我将此php放在表单标记的操作中。

有没有人遇到过这个问题?

1 个答案:

答案 0 :(得分:0)

您可以在php中增加最长执行时间。

ini_set('max_execution_time',300); // 300秒= 5分钟