Почему я получаю только текстовое электронное письмо вместо html, используя SwiftMailer? - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь отправить html письмо с помощью SwiftMailer.Письма отправляются, но только в текстовом формате, а не в формате html.

Я следил за документацией SwitMailer о создании нового сообщения.Я использовал 'text / html' для рендеринга в html.

В моем TwigSwiftMailer.php:

protected function sendMessage($templateName, $context, $fromEmail, 
$toEmail)
{
    $template = $this->twig->load($templateName);
    $subject = $template->renderBlock('subject', $context);
    $textBody = $template->renderBlock(/*'body_text'*/'body_html', 
    $context);
    $htmlBody = '';
    if ($template->hasBlock('body_html', $context)) {
        $htmlBody = $template->renderBlock('body_html', $context);
    }

$message = (new Swift_Message())
    ->setSubject($subject)
    ->setFrom($fromEmail)
    ->setTo($toEmail)    
    ->setContentType("text/html")
    ->setBody('My <em>amazing</em> body', 'text/html');

return $this->mailer->send($message);

В parameters.yml мой mailer_transport установлен на smtp.

Это мой шаблон:

{% trans_default_domain 'FOSUserBundle' %}
{% block subject %}
{%- autoescape false -%}
{{ 'registration.email.subject'|trans({'%username%': user.username, 
'%confirmationUrl%': confirmationUrl}) }}
{%- endautoescape -%}

{% endblock %}

{% block body_text %}

{% autoescape false %}
{{ 'registration.email.message'|trans({'%username%': user.username, 
'%confirmationUrl%': confirmationUrl}) }}
{% endautoescape %}
{% endblock %}

Я ожидаю получить html письмо в полученном письме.В результате получается простой текст со всеми видимыми html-кодами, такими как (<em>amazing</em>).

Как я могу обработать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...