【问题标题】:symfony2 dont send emailsymfony2 不发邮件
【发布时间】:2013-11-24 07:53:58
【问题描述】:

我正在 Symfony2 中开发一个应用程序 我有一个将在 crontab 中运行的命令

这是命令:

<?php
namespace project\projBundle\Service;
use Doctrine\ORM\EntityManager;
use Symfony\Component\Templating\EngineInterface;
class Sender {
    protected $em;
    protected $templating;
    protected $mailer;
    public function __construct($em, $templating,\Swift_Mailer $mailer) {
        $this->em = $em;
        $this->templating = $templating;
        $this->mailer = $mailer; }

    public function runSender() {
        $proj = $this->em->createQuery("query")->setMaxResults(20)->getResult();
        $message = \Swift_Message::newInstance()
            ->setSubject('Contact enquiry from symblog')
            ->setFrom('...@gmail.com')
            ->setTo('...@gmail.com')
            ->setBody($this->templating->render('projectprojBundle:Others:emailNew.html.twig', array('proj' => $proj)));

        $this->mailer->send($message); } }

parameters.yml:

parameters:
    mailer_transport: gmail
    mailer_host: ~
    mailer_user: ...@gmail.com
    mailer_password: ...

在 config_test 中:

swiftmailer:
    disable_delivery: false

但由于某种原因,这没有发送电子邮件。我做错了什么?

【问题讨论】:

    标签: symfony mailer


    【解决方案1】:

    By default 电子邮件存储在文件中,您需要运行以下命令来发送它们:

    console swiftmailer:spool:send
    

    如果您想直接发送电子邮件而不进行后台处理,请将 spool: { type: memory } 添加到您的配置文件中:

    swiftmailer:
        disable_delivery: false
        spool: { type: memory }
    

    更多详情请见Symfony2 documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 2015-11-14
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 1970-01-01
      • 2017-08-05
      相关资源
      最近更新 更多