Symfony2上的SwiftMailer。
我尝试通过SqiftMailer发送电子邮件,但此代码返回[SWIFTMAILER] Success!!
,
没有显示日志,也没有发送电子邮件。
我把记录器插件,
$mailLogger->dump()
显示没有日志。
$mailLogger = new \Swift_Plugins_Loggers_ArrayLogger();
$this->getContainer()->get('mailer')->registerPlugin(new \Swift_Plugins_LoggerPlugin($mailLogger));
$bodyText = $this->getContainer()->get('templating')->render('AcmeTopBundle:Default:dailyAlert.txt.twig',array('data' => $this->data));
$messaggio = \Swift_Message::newInstance()
->setSubject("My Title")
->setContentType("text/html")
->setFrom($this->getContainer()->getParameter('receive_system_mail'))
->setTo($m->getUser()->getEmail())
->setBody(nl2br($bodyText));
if ($this->getContainer()->get('mailer')->send($messaggio)){
echo '[SWIFTMAILER] Success!! ' . $mailLogger->dump() . "\n";
}else {
echo '[SWIFTMAILER] Fail ' . $mailLogger->dump() . "\n";
}
在我的config.yml
中swiftmailer:
transport: smtp
host: smtp.zoho.com
username: taro
password: ********
port: 465
encryption: ssl
auth_mode: plain
spool:
type: file
path: "%kernel.root_dir%/spool"
# spool: {type: memory}
答案 0 :(得分:1)
当您使用spool进行邮寄时,邮件首先存储在文件夹中。 你应该运行bin / console swiftmailer:spool:send命令来发送它们。 当你调用send()函数时,它只返回邮件数。