我使用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 %}