目标
我正在尝试创建一个 PHP 脚本,通过 PHP Mailer 实例将大小为 6MB 的 PDF 文件电子邮件发送给网站上请求的用户。用户在表单中输入他们的电子邮件地址,提交表单,然后文件通过 PHP 邮件程序实例发送到他们那里。用户在提交表单后显示成功页面。
问题
通过 POST 方法提交数据后,会有一段时间的长暂停,服务器最终返回一个404错误。但是,在几分钟后,电子邮件附件可以完美地接收到。
故障排除/尝试的解决方案
我认为这个问题是因为 PHP Mailer 所需的时间太长了,以至于无法发送带有大附件的电子邮件。服务器超时并返回 404。在此期间,脚本最终完成处理,然后才会接收电子邮件。
如果我删除附件并只发送一个空电子邮件,脚本将非常快速地加载并显示成功/确认页面。
我考虑过创建重定向,但是无论我找到的关于如何在 PHP 中实现重定向的解释都说您应该关闭原始脚本(这不是我想要的)。
问题
我如何允许电子邮件脚本运行一段时间,同时立即向用户显示成功消息,以使他们不会感到困惑?