电子邮件收到枝条中可见的HTML链接

时间:2017-09-17 19:26:16

标签: html twig

当我在电子邮件中看到<a>链接时,我知道为什么它仍然可见? 例如,我在twig中有这个代码:

Please click 
<a href="{{ base_url }}{{ path('send.email.user', {'token': token }) }}">here</a> 
to confirm the email. <br/>

当我收到电子邮件时,它看起来像这样:

Please click <a href="http://local.app.com/confirmation/rir3Y0v3Pqw">here</a> 
to confirm the email. <br/>

<br />标签也是可见的,所以我猜不会看到html。但为什么?有什么建议?

编辑:

$message = $this->emailService->getMessage(
    'user@yahoo.com',
    'User confirm',
    'ApplicationBundle:UserEmail:email.html.twig',
    array(
        'token' => $this->emailService->getEmailTokenService()->createToken()
    )
);

$this->emailService->send($message);

1 个答案:

答案 0 :(得分:2)

您必须在text/html中设置要发送的正文,否则它将在text/plain中发送。我没有完整的代码,但这是我使用的,适合您的代码。 $this->tmpl是我的模板对象,用于呈现视图。

$message = \Swift_Message::newInstance()
    ->setSubject('User confirm')
    ->setFrom('user.from@yahoo.com')
    ->setTo('user.to@yahoo.com')
    ->setBody(
        $this->tmpl->render(
            'ApplicationBundle:UserEmail:email.html.twig',
            array(
                'token' => $this->emailService->getEmailTokenService()->createToken()
            )
        ),
        'text/html'
    );

$this->emailService->send($message);