仅在生成电子邮件时才会收到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;
}
答案 0 :(得分:0)
我想出了这个问题。 AWS对端口25进行了限制,因为那里的流量很大,因此生产了504,这就是Dev工作的原因。我将端口更改为587,它们没有油门,现在工作正常。