【问题标题】:phpmailer send multiple email in multiple request ajax in one smtp connectionphpmailer 在一个 smtp 连接中以多个请求 ajax 发送多封电子邮件
【发布时间】:2020-06-16 04:20:53
【问题描述】:

我正在尝试在多个请求中向我的 PHP 脚本发送多个带有 ajax 的电子邮件, 当我尝试使用$mail->SMTPKeepAlive = true 时,我需要它在同一个 SMTP 连接中 该脚本为每个请求打开和关闭 smtp 连接。 有没有办法让连接保持活跃直到我的请求结束?

【问题讨论】:

    标签: ajax smtp phpmailer keep-alive


    【解决方案1】:

    不,你不能那样做。 PHP每次都会断开连接。你也许可以使用 swoole 或 reactphp 之类的东西来做到这一点,这使得 PHP 更像是一个应用程序服务器,但 PHP 并不能以这种方式开箱即用。

    下一个问题是为什么你需要这样工作?无论如何,您不太可能通过这样做看到很多性能改进 - 任何收益都将被 ajax 调用开销所抵消。不能一次性提供地址列表一次性发送吗?

    【讨论】:

    • 我正在尝试使用 ajax 实时发送状态,这就是为什么在我的脚本中显示进度条
    • 您不需要将发送与进度条结合起来 - 考虑在单独的连接中处理发送时使用websocket 来驱动进度条。也就是说,除非您发送数千封电子邮件,否则这很复杂,而且在很大程度上是浪费时间。如果您通过本地邮件服务器进行中继(通常在页面加载/ajax 请求期间将 SMTP 与远程服务器通信是一个坏主意),您应该可以轻松地每秒发送数百封电子邮件。
    猜你喜欢
    • 1970-01-01
    • 2012-09-03
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多