Я получаю 504 тайм-аута шлюза, только когда генерируется электронное письмо. Я проверил php.ini и установил max_execution_time на 300, а также default_socket_timeout. После того, как я удалил функцию SMTP и сайт больше не может отправлять электронное письмо, нет 504 действий, требующих отправки электронного письма. SMTP настроен правильно, так как я использовал ту же конфигурацию на тестовом сайте. В производственной среде что-то явно отсутствует или неправильно настроено, но я не уверен, где искать. Если у кого-то есть понимание, я был бы очень благодарен, поскольку последние несколько дней я потратил на поиски ответов.
Это работает на AWS и использует Amazon SES для отправки электронных писем. И Prod, и Dev - их собственные экземпляры.
Настройки SMTP: (как я уже говорил, это работает на тестовом сайте)
add_action( 'phpmailer_init', 'send_smtp_email' );
function send_smtp_email( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = 'host';
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 25;
$phpmailer->Username = 'username';
$phpmailer->Password = 'password';
$phpmailer->SMTPSecure = 'tls';
$phpmailer->From = 'info@website.com';
$phpmailer->FromName = 'Site Name';
$phpmailer->SMTPDebug = 1;
}