FosUserBundle 不发送电子邮件以重置密码



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

这看起来像config.yml中的快速邮件和 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: AirblogBundleEntityUser
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 模板,让赞美诗的登录和提醒在一个页面上?是否需要覆盖控制器?

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

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

指定好的参数以通过阅读 help 命令向您发送调试邮件

php app/console swiftmailer:email:send --help

您应该会在命令中输入的电子邮件地址上收到一封邮件。 完成此步骤后,您可以假定您的邮件配置良好

重置忘记密码请求

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

如果要"重置"特定用户的密码请求

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

扩展 FOSUserBundle 树枝模板

您应该阅读此文档

基本上你可以覆盖vendor/friendsofsymfony/user-bundle/Resources/views下的所有FOSUserTemplate

。我希望这是有帮助的!

对于覆盖 FOSUser twig 模板,Symfony Doc

最新更新