504 PHP发送邮件时网关超时

时间:2018-05-10 20:28:43

标签: php smtp timeout phpmailer

仅在生成电子邮件时才会收到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;
}

1 个答案:

答案 0 :(得分:0)

我想出了这个问题。 AWS对端口25进行了限制,因为那里的流量很大,因此生产了504,这就是Dev工作的原因。我将端口更改为587,它们没有油门,现在工作正常。