PHP或symfony2的并行进程?

时间:2013-07-11 11:30:28

标签: php symfony swiftmailer

这只是PHP的简单问题,也可能是symfony2。

我正在使用Swift_Message发送电子邮件。

我发送两封电子邮件然后显示twig文件。

但是发送电子邮件需要花费太多时间。

因此,用户必须等待很长时间才能看到html页面。

我可以同时发送电子邮件并显示HTML吗?

    $messaggio = \Swift_Message::newInstance()
            ->setSubject('confirm')
            ->setContentType("text/html")
            ->setFrom('email@gmail.com')
            ->setTo($this->user->getEmail())
            ->setBody($this->renderView('AcmeMemberBundle:Default:customer.txt.twig');

            //

    $messaggio = \Swift_Message::newInstance()
            ->setSubject('confirm email')
            ->setContentType("text/html")
            ->setFrom('email@gmail.com')
            ->setTo($this->user->getEmail())
            ->setBody($this->renderView('AcmeMemberBundle:Default:staff.txt.twig');

            //


    return $this->render('AcmeMemberBundle:Default:form.html.twig');   

提前谢谢

1 个答案:

答案 0 :(得分:5)

我猜您使用邮件服务发送电子邮件?如果没有,你必须。

this->get('mailer')->send($messaggio);

要立即发送电子邮件,您可以configure a spool。支持两个线轴。内存假脱机,它将消息保存在内存中,并在内核终止后发送它们,这意味着所有内容都被渲染并发送到客户端。或文件假脱机。有了它,消息被保存到一个文件中,你必须定期从cronjob发出一个控制台命令来发送邮件。