尝试使用带有FOSUserBundle的模板进行邮件检查



我使用FOSUserBundle来处理我的用户访问管理。

注册表单工作正常,我的用户已在我的数据库中注册,并且web显示check-email页面。

问题是关于确认电子邮件。它被发送到用户的电子邮件中,但它不使用my app/config.yml中定义的模板。

所以我想我没有把它定义成它应该是。

实际上我只找到了config的例子。模板参数定义在那里的重置部分,虽然我感兴趣的不是重置部分(还没有),而是注册部分。

这是我的配置。Yml file:

fos_user:
db_driver: orm
firewall_name: main
user_class: CSW78BundleEntityUser
service:
    mailer: fos_user.mailer.twig_swift
registration:
    form:
        type: user
    confirmation:
        enabled: false
        from_email:
            address: xxx.xxx@icloud.com
            sender_name: bla bla bla
resetting:
    email:
        template: Mail/registration.email.twig

所以my registration。email。位于app/Resources/views/Mail中。

顺便说一下,我通过我的联系表单测试了Swift Mailer功能本身,它可以完美地发送电子邮件。

给定:

fos_user:
     service:
         mailer: fos_user.mailer.twig_swift
     registration:
        form:
            type: user
        confirmation:
            enabled: false
            template: Email/registration.email.twig
            from_email:
                address: xxx.xxx@icloud.com
                sender_name: bla bla bla

则用户电子邮件将使用app/Resources/views/Email/registration.email.twig的模板。

电子邮件/registration.email.twig:

{% block subject %}Registration confirmation{% endblock %}
{% block body_text %}
{% autoescape false %}
Hello {{ user.firstName }} {{ user.lastName }} !
Please confirm your registration by visiting {{ confirmationUrl }}
Thank you,
The Team
{% endautoescape %}
{% endblock %}
{% block body_html %}
{% include 'Email/registration.html.twig' %}
{% endblock %}

电子邮件/registration.html.twig:

{% block body_html %}
    <p>Hello <b>{{ user.firstName }} {{ user.lastName }}</b>!</p>
    <p>Please confirm by visiting <a href="{{ confirmationUrl }}">this link</a>.</p>
    <p>Thank you.</p>
    <p>The Team</p>
{% endblock %}

最新更新