【问题标题】:Zend_Mail send and Zend_ProgressbarZend_Mail 发送和 Zend_Progressbar
【发布时间】:2011-11-11 19:06:35
【问题描述】:

有人知道如何发送带有附件的邮件并在 JavaScript (jQuery) 中显示进度条的好例子吗?

【问题讨论】:

    标签: php jquery email zend-mail


    【解决方案1】:

    您可能不得不猜测花费的时间,并据此更新进度条。

    鉴于 PHP 没有线程,我建议有一个用于交付的数据库队列,并从主站点(或通过 cron)触发一个外部 PHP 进程,该进程在侧面处理交付,在数据库上标记每次交付的当前状态:NOT_PROCESSED、IN_PROGRESS、CONNECTING、CONNECTED、SENDING_DATA、ACCEPTED、FAILURE_X。您可以通过 Ajax 在数据库中查询每次交付的状态。

    如果 PHPMailer 内部使用标准的 PHP mail() 函数, 在您的机器中使用中继 SMTP 服务器,您不能拥有那么多 有关状态的信息(如果您创建了 自己的套接字),您只能拥有三个主要状态 NOT_PROCESSED, IN_PROGRESS,FAILURE_X。

    Is it possible to send mail asycronously using PHP while giving user feedback on delivery?

    否则,也许您可​​以在每个小步骤之后更新进度条。像这样随意的东西:

    1. 设置邮件收件人
      • 更新进度条 25%
    2. 从地址设置邮件
      • 更新进度条 50%
    3. 设置邮件标头
      • 更新进度条 75%
    4. 发送邮件
      • 将进度条更新为 100%

    然而,这确实效率低下。最终的结果可能是用户看到进度条在前三个(25%、50%、75%)之间跳得非常快,然后卡在 75%多花一两秒钟,然后完成..

    【讨论】:

      猜你喜欢
      • 2013-07-12
      • 2015-07-09
      • 2010-12-10
      • 2011-11-20
      • 2011-01-24
      • 1970-01-01
      • 2012-12-24
      • 2023-04-03
      • 2011-06-13
      相关资源
      最近更新 更多