我有一个简单的表格来登录和提醒密码,我覆盖了 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