Symfony2 swiftmailer没有错误,没有收到消息

时间:2015-03-22 08:53:13

标签: php email symfony gmail swiftmailer

我正在努力与Symfony2通过SwiftMailer发送电子邮件(在localhost上工作)。我搜索了stackoverflow上的文档和不同帖子的配置,我设法应用了不会产生任何错误但消息没有进入收件箱的配置。请快速浏览一下,可能缺少一些小东西:

parameters.yml

    mailer_transport: gmail
    mailer_host:      ~
    mailer_user:      mark.twain3445@gmail.com
    mailer_password:  Testing1

config_dev.yml

swiftmailer:
    transport: gmail
    username:  mark.twain3445@gmail.com
    password:  Testing1
控制器中的

    public function sendMail(Request $request)
        {   
            $defaultData = array('name' => '', 'email' => '', 'subject' => '', 'message' => '');
            $form = $this->createFormBuilder($defaultData)
            ->add('name', 'text')
            ->add('email', 'email')
            ->add('subject', 'text')
            ->add('message', 'textarea')
            ->add('submit', 'submit', array('label' => 'Send'))
            ->getForm();

            $form->handleRequest($request);
            if ($form->isValid()) {
                $name = $form['name']->getData();
                $email = $form['email']->getData();
                $subject = $form['subject']->getData();
                $message_mail = $form['message']->getData();
                var_dump($name);


            $mailer = $this->get('mailer');
            $message = $mailer->createMessage()
            ->setSubject($subject)
            ->setFrom($email)
            ->setTo('mark.twain3445@gmail.com')
            ->setBody($message_mail);
            $mailer->send($message);

            }
}

2 个答案:

答案 0 :(得分:2)

查看您的Gmail帐户,您可以找到一封邮件,说明您的远程服务器导致了一些可疑活动,更改了安全设置,它应该可以正常工作。

要更改此设置,请转到https://www.google.com/settings/security/lesssecureapps并为不太安全的应用启用Access

enter image description here

答案 1 :(得分:0)

您应该继续使用您的Gmail帐户激活远程访问。

另外,请确认您的配置中没有此功能:

disable_delivery:true

在开发阶段,您可以在配置中添加:

swiftmailer:     delivery_address:dev@example.com

所以无论你设置为TO,所有邮件都会被发送到dev@exemple.com。