504 Ошибка тайм-аута шлюза на PHP Mail / EC2 - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь отправить электронное письмо с помощью функции 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 и группе безопасности)

И мой 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 голосов
/ 10 мая 2018

Вы можете увеличить максимальное время выполнения в php.

ini_set ('max_execution_time', 300); // 300 секунд = 5 минут

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...