Zend Mail发送和发送进度条

时间:2011-11-11 19:06:36

标签: php jquery email zend-mail

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

1 个答案:

答案 0 :(得分:0)

您可能需要猜测所需的时间并根据该更新进度条。

  

鉴于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%
  5. 然而,这是非常低效的..最终结果可能是用户看到进度条在前三个(25%,50%,75%)中快速跳跃然后被卡在75%额外的一两秒,然后完成..