繁体   English   中英

504网关在PHP发送邮件时超时

[英]504 Gateway Time-Out When PHP Sends Mail

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

我发现了问题。 AWS会限制端口25,因为那里的流量很大,因此导致生产恢复为504,这就是Dev正在工作的原因。 我将端口更改为587,在该位置他们不油门,现在可以正常工作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM