通过Mail :: factory以PHP发送邮件有时会使我的页面超时

时间:2016-10-06 22:21:50

标签: php phpmailer

我是一名JS开发人员,所以PHP真的不是我的专业知识。 我有一个页面在提交时发送电子邮件,当gmail服务器响应缓慢时,页面有时会超时。

我想知道是否有办法延长页面的超时(我使用LAMP设置,Apache,PHP)或者可能在aysnc非阻塞中运行Mail :: factory?

或任何其他想法,以确保页面不会超时用户(我不介意他们需要等待10秒,因为他们看到加载栏...)当gmail回复缓慢?

这是函数

Interval interval = Interval.of( now , later );
Boolean isTargetWithinTimeFrame = interval.contains( instant );

谢谢,

肖恩。

3 个答案:

答案 0 :(得分:0)

您可以通过添加

来删除执行超时完全限制
set_time_limit(0);

在剧本的最顶层。

Here is the link关于此函数的PHP文档。

答案 1 :(得分:0)

为什么要异步发送电子邮件?使用队列服务代替在后台发送电子邮件。

答案 2 :(得分:0)

安装本地邮件服务器,使用SMTP发送到localhost。它将很快完成,邮件服务器将处理等待,排队,重试等,而无需执行任何复杂的操作。在页面加载期间SMTP不好,因为它可能非常慢。您可以将邮件服务器配置为通过您的Gmail帐户继续转发。我推荐使用postfix。