发送文件并删除后

时间:2014-05-19 21:19:55

标签: symfony tcpdf swiftmailer

你好我在Symfony2上使用SwiftMailer,我可以成功发送电子邮件,但现在我首先制作一个pdf,然后附上邮件,发送并最终删除pdf文件。

这是我的代码。

$pdf->Output('cuestionario/attach/' . $nombre . '.pdf', 'F');
                        $correosFinal = array();
                        foreach ($correos as $correo) {
                            $correosFinal[$correo->getId()] = $correo->getCorreo();
                        }
                        $message = Swift_Message::newInstance()
                                ->setSubject($respuesta['nombre'])
                                ->setFrom($this->container->getParameter('mailer_user'))
                                ->setTo($correosFinal)
                                ->setBody($html, 'text/html')
                                ->attach(Swift_Attachment::fromPath(
                                        'cuestionario/attach/' . $nombre
                                        . '.pdf'));
                        $enviado = $this->get('mailer')->send($message);
                        if ($enviado) {
                            unlink('cuestionario/attach/' . $nombre . '.pdf');
                        }

麻烦的是,我正在快速删除文件,邮件说已发送但是点击确实没有发送....

1 个答案:

答案 0 :(得分:2)

邮件被假脱机,因此当您调用'send'方法时不会发送邮件。 为了强制冲洗线轴,你可以这样做:

$spool = $this->container->get('mailer')->getTransport()->getSpool();
$transport = $this->container->get('swiftmailer.transport.real');
if ($spool and $transport) $spool->flushQueue($transport);