SwiftMailer不能运行symfony2

时间:2015-08-13 17:13:43

标签: symfony contact swiftmailer

我在我的网站上用symfony2完成了一个ContactBundle,但它不起作用我不知道它是如何工作的.. 我的控制器:     

namespace Common\ContactBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Common\ContactBundle\Form\ContactType;

class ContactController extends Controller {

public function indexAction() {

    //Création du formulaire
    $form = $this->createForm(new ContactType());


    //L'envoi du message
    if ($form->isValid()) {

        $name = $form['name']->getData();
        $email = $form['email']->getData();
        $tel = $form['tel']->getData();
        $message = $form['message']->getData();


        $final_message = \Swift_Message::newInstance()
                ->setSubject('NasriCenter : message de contact ')
                ->setFrom($email)
                ->setTo('thamer.nasri@gmail.com')
                ->setBody($this->renderView('ContactBundle:Contact:email.html.twig', array(
                    'name' => $name,
                    'email' => $email,
                    'tel' => $tel,
                    'message' => $message
                        )
        ));

        $this->get('mailer')->send($final_message);
    }

    //Affichage du formulaire
    return $this->render('ContactBundle:Contact:index.html.twig', array(
                'form' => $form->createView()
    ));
    }

 }

我的文件参数:

mailer_transport:  smtp
mailer_encryption: ssl
mailer_host:       smtp.gmail.com
mailer_user:       thamer.nasri@gmail.com
mailer_password:   null

我的配置文件是来自youtube中视频的此配置

swiftmailer:
    transport: smtp
    encryption: "%mailer_encryption%"
    host:      "%mailer_host%"
    username:  "%mailer_user%"
    password:  "%mailer_password%"
    spool:     
        type: file
        path: "%kernel.root_dir%/spool"

你可以帮我解决这个错误

2 个答案:

答案 0 :(得分:0)

配置文件和控制器操作看起来没问题。由于您已启用假脱机,请确保假脱机目录是可写的。另外,要发送假脱机邮件,您需要运行以下命令。

$ php app/console swiftmailer:spool:send --env=prod 

由于您收到Google的身份验证错误,请确认您已允许从您使用的帐户的安全性较低的应用程序登录。请参阅以下

https://support.google.com/accounts/answer/6010255?hl=en

答案 1 :(得分:0)

我已停用我的防病毒软件