【问题标题】:Symfony confirmation email not send but gmail workSymfony 确认电子邮件未发送但 gmail 工作
【发布时间】:2016-11-22 14:40:01
【问题描述】:

我在使用 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

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

【问题讨论】:

    标签: swiftmailer


    【解决方案1】:

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

    在此处查看link 了解更多信息

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

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

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

    【讨论】:

    • 感谢您的快速答复,但我已经允许他们:puu.sh/q75x8.png 我是法国人,它只是说我允许不太安全的应用程序使用此地址
    • 我看到你没有使用 smtp。如果您尝试更改为使用 smtp 设置,您应该能够像这样连接。这是另一个link,它显示了如何设置它。让我知道你过得怎么样。
    • 其实我觉得这个link 更合适。这是 swiftmailer 文档。如果您将smtp.example.org 更改为smtp.gmail.com,然后将用户名更改为您的电子邮件地址,并将密码更改为您的密码。它应该可以工作。
    • 再次感谢您的回答。但是我可以用我的 gmail 帐户发送直接邮件我的意思是我有一个允许发送邮件的页面,它工作正常,它是 symfony 在注册后自动发送的邮件。
    【解决方案2】:

    现在我想到了,这可能是我向我的数据库添加新用户的方式:

    我的控制者:

    $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()));
    

    还有我的树枝:

    {{ 表格(表格) }}

    我不确定,也许

    【讨论】:

    • 请仍然被阻止
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 2021-09-11
    相关资源
    最近更新 更多