无法点击电子邮件中的链接

时间:2016-02-20 16:14:35

标签: php symfony

我在symfony项目中使用fosUserBundle。我正试图通过邮件确认用户的注册。用户能够接收包含电子邮件的电子邮件以点击它以激活他的帐户,但问题是他无法点击它,因此为了激活他的帐户,他必须复制粘贴浏览器中的链接。 你能帮我解决一下这个问题,让用户更轻松一点,这样他就能点击链接直接进行指导吗? 这是我正在使用的代码:

的应用程序/配置/ config.yml

fos_user:
# ...

service:
mailer: fos_user.mailer.twig_swift
resetting: 
    email:
        template: email/password_resetting.email.twig

的应用程序/资源/视图/电子邮件/ password_resetting.email.twig

{# app/Resources/views/email/password_resetting.email.twig #}

{% block subject %}Resetting your password{% endblock %}

{% block body_text %}
{% autoescape false %}
Hello {{ user.username }} !

You can reset your password by accessing {{ confirmationUrl }}

Greetings,
the App team
{% endautoescape %}
{% endblock %}

{% block body_html %}

{% include 'email/password_resetting.html.twig' %}
{% endblock %}

2 个答案:

答案 0 :(得分:0)

从您的问题说明中,我了解电子邮件是以纯文本形式发送的,因此客户的电子邮件客户端不会将该链接解析为HTML链接。

  

默认邮件程序仅支持发送纯文本邮件。如果你   想要发送多部分消息,最简单的解决方案是使用   而实施TwigSwiftMailer。

请检查FOSUserBundle documentation以HTML格式发送电子邮件。

答案 1 :(得分:0)

您需要覆盖默认的FOSUserBundle电子邮件模板。

app / config / config.yml 中注释或删除'模板'选项:

resetting: 
    email:
        # template: email/password_resetting.email.twig

接下来,递归创建目录:

app/Resources/FOSUserBundle/views/Resetting/

这是FOSUser供应商目录中的确切目录结构。

从vendor /复制email.txt.twig并将其放入:

app/Resources/FOSUserBundle/views/Resetting/email.txt.twig

现在,在模板中进行所有必要的调整。

请记住,捆绑包默认使用翻译,因此您可能希望更改或删除模板中的行:

{% trans_default_domain 'FOSUserBundle' %}