FosUserBundle不会发送电子邮件来重新设置密码

时间:2017-08-23 14:27:14

标签: symfony fosuserbundle

我有一个简单的登录和提醒密码表格,我覆盖了FOSUser模板,一切正常,但是当我想通过电子邮件发送密码提醒时,我没有收到邮件。

这看起来像config.yml中的swiftmailer和fos配置:

swiftmailer:
    transport: '%mailer_transport%'
    host: '%mailer_host%'
    username: '%mailer_user%'
    password: '%mailer_password%'
    spool: { type: memory }         
fos_user:
    db_driver: orm
    firewall_name: main
    user_class: AirblogBundle\Entity\User
    from_email:
        address: "admin@admin.com"
        sender_name: "Admin"
    resetting:
        email:
            from_email: 
                address:        noreply@yoursite.com
                sender_name:    No Reply
        token_ttl: 0

重置/请求路径发送电子邮件后,我收到以下信息:

电子邮件已发送至... @ wp.pl。它包含您必须单击以重置密码的链接。

这似乎是正确的,因为在表单中输入的地址具有相同的结尾,但我的邮箱没有收到任何消息。

ps:还有一个问题,如何简单地覆盖Twig模板,所以赞美诗的登录和提醒是在一个页面上?你需要覆盖控制器吗?

2 个答案:

答案 0 :(得分:2)

您是否配置了SwiftMailerBundle所需的参数?

首先,我建议您使用Symfony的命令检查您的swift邮件程序配置。

指定好的参数,通过阅读帮助命令

向您发送调试邮件
php app/console swiftmailer:email:send --help

您应该收到您在命令中写入的电子邮件地址的邮件。 完成此步骤后,您可以假设您的邮件配置正常

重置忘记密码请求

一个重要的(在我的项目中安装的版本,作曲家要求 ~2.0 )要知道的是FOSUserBundle如果没有点击就不会重新发送邮件在先前的重置链接上发送但他向您显示他发送邮件的消息。

如果您想“重置”特定用户的密码请求

UPDATE user SET confirmation_token = NULL, password_requested_at = NULL WHERE username = "yourdebugusername"

扩展FOSUserBundle Twig模板

您应该阅读this documentation

基本上你可以覆盖vendor/friendsofsymfony/user-bundle/Resources/views

下的所有FOSUserTemplate

我希望它有所帮助!

答案 1 :(得分:0)

对于覆盖FOSUser树枝模板,请查看Symfony Doc