你好我在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');
}
麻烦的是,我正在快速删除文件,邮件说已发送但是点击确实没有发送....
答案 0 :(得分:2)
邮件被假脱机,因此当您调用'send'方法时不会发送邮件。 为了强制冲洗线轴,你可以这样做:
$spool = $this->container->get('mailer')->getTransport()->getSpool();
$transport = $this->container->get('swiftmailer.transport.real');
if ($spool and $transport) $spool->flushQueue($transport);