发送电子邮件时出现symfony2错误

时间:2013-11-12 11:04:03

标签: symfony mailer

我正在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); } }

参数.yml:

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

在config_test中:

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

这是向我发送电子邮件,但我收到了2封电子邮件: 第一:

Delivery to the following recipient failed permanently:

     ...@gmail

Technical details of permanent failure:
DNS Error: Domain name not found

并且在第二个枝条代码中,未渲染。

我做错了什么?

2 个答案:

答案 0 :(得分:2)

你是否在config.yml中添加了这个:

swiftmailer:
    transport: %mailer_transport%
    host:      %mailer_host%
    username:  %mailer_user%
    password:  %mailer_password%

答案 1 :(得分:1)

我用那个固定树枝:

protected $twig;
    protected $mailer;
    public function __construct(\Twig_Environment $twig,\Swift_Mailer $mailer) {
        $this->twig = $twig;
        $this->mailer = $mailer;
    }

但现在问题是我仍然有html标签。