Symfony确认电子邮件不发送但gmail工作

时间:2016-07-19 15:38:35

标签: swiftmailer

我有一些问题,使用swiftmailer设置我的确认电子邮件,通常一切都设置得很好,但邮件没有发送,我的用户在我的数据库中(但当然启用设置为0)。

由于我没有symfony显示的错误,我认为这是我的gmail帐户阻止了它们,但我已将其设置为允许其他应用程序将其用作“服务器”,并且我有一个使用swiftmailer的页面发送普通邮件,工作正常。

我迷路了,谢谢你将来的帮助

我的config.yml:

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

fos_user:
    db_driver: orm
    firewall_name: main
    user_class: UserBundle\Entity\User
    service:
        mailer: fos_user.mailer.default
    registration:
            confirmation:
                enabled: true
     from_email:
            address:        maxime.duvey@gmail.com
            sender_name:    Registration mail

我的config.yml:

    mailer_transport: gmail
mailer_host: 127.0.0.1
mailer_user: maxime.duvey@gmail.com
mailer_password: XXXXXXXXXXX

我真的迷路了,我不明白为什么它不起作用

2 个答案:

答案 0 :(得分:0)

可能是因为你必须打开"不太安全的应用程序"因为gmail允许您不允许您访问登录,除非它是他们提供的安全应用程序。这可以在谷歌管理控制台中找到。

有关详细信息,请参阅此处的link

使用PHPMailer时遇到了同样的问题。

但是,如果您决定将其打开,则不建议这样做。

他们在提供的链接中提到了这一点。

答案 1 :(得分:0)

现在我想起来了,可能是我的方式将新用户添加到我的数据库中:

我的控制器:

$userregister = new User();
  $formregister = $this->get('form.factory')->createBuilder(FormType::class, $userregister);
  $formregister
  ->add('firstname',      TextType::class)
  ->add('lastname',       TextType::class)
  ->add('email',          EmailType::class)
  ->add('phonehome',      NumberType::class)
  ->add('phoneportable',  NumberType::class)
  ->add('username',       TextType::class)
  //->add('Password',       PasswordType::class)
  ->add('plainPassword',  RepeatedType::class, array(
        'type' =>         PasswordType::class,
        'first_options'  => array('label' => 'Password'),
        'second_options' => array('label' => 'Repeat Password'),
        ))
  ->add('submit',         SubmitType::class);

  $form = $formregister->getForm();
  $form->handleRequest($request);
         if ($form->isSubmitted() && $form->isValid())
          {
            $em = $this->getDoctrine()->getManager();

            $em->persist($userregister);
            $em->flush();

            $request->getSession()->getFlashBag()->add('notice', 'Annonce bien enregistrée.');


            return $this->redirect($this->generateUrl('Contact_Action', array('id' => $userregister->getId())));
          }

  return $this->render('register.html.twig', array('form'=>$form->createView()));

和我的树枝:

{{form(form)}}

我不确定,也许