2014-01-15 53 views

回答

0

这可能更像是一个服务器问题。这取决于你如何配置PHP。

它可能禁止使用本地SMTP服务器,该服务器将对电子邮件进行后台处理,直到其到达目的地。如果您在多台服务器上使用相同的代码,Swiftmailer可能会帮助您从脚本而不是php.ini中配置此代码

0

如果您使用的是AJAX,则它已在后台工作。 AJAX是异步的,所以它发送数据并继续做其他事情。然后,当服务器报告请求状态改变时,你的AJAX可以做出相应的反应。

如果您要让用户确认电子邮件正在发送,您可以在AJAX呼叫后立即执行此操作。这样,代码会将请求发送到服务器,然后立即显示确认。

如果您想要确认电子邮件已发送,您必须等待,直到它已发送。实际上有响应之前,您不能显示服务器响应。除非你做错了什么(我们不能在没有看到你的代码的情况下确定),AJAX应该立即处理响应。因此,加速这一过程的唯一方法是实施更高效/更快的邮件系统。

+0

我在一次通话中进行多项操作,包括发送电子邮件。 所以我的页面正在等待模式,直到ajax调用完成。 –

+0

@ user2768394好吧,如果我正确理解这一点,你的PHP脚本做了很多,你想先返回结果,然后发送电子邮件。显然,这是不可能的,因为这[post](http://stackoverflow.com/questions/293389/execute-code-after-http-request-is-complete-in-php)建议。但是,您可以为电子邮件发送执行单独的脚本,并在第一次请求后向其发送请求。如果您需要第一个值,您可以a)使用第一个请求返回它们,然后使用第二个请求发送它们,或者b)将它们缓存在服务器上的文件中或b2)在数据库中缓存。 – scenia

+0

为了减少ajax调用的次数,我正在同时进行多个操作。 –

相关问题