Я пытаюсь отправить 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>
).
Как я могу обработать?