Drupal 8系统邮件中的HTML正文

时间:2019-06-26 08:25:20

标签: php drupal drupal-8

当我输入新用户时,我正在尝试格式化Drupal通过html发送的电子邮件。事情似乎比预期的要困难,我尝试使用hook_mail_alter函数,但无济于事。每次我插入HTML标记时,这些标记都会按照以下示例进行转换。

如何解决?是否可以在不添加模块的情况下解决问题?

function importuser_mail_alter(&$message) {
    switch ($message['key']) {
        case 'register_admin_created':
            $message['headers']['Content-Type'] = 'text/html; charset=UTF-8;';
            foreach ($message['body'] as $key => &$body) {
                $body = new Drupal\Component\Render\FormattableMarkup($body, []);
            }
        break;
    }
}

系统中的电子邮件为:

<strong>Gentile Utente,</strong>

Un amministratore ha creato il tuo profilo utente sul sito DEV. Puoi
autenticarti con un clic su questo collegamento oppure copiando ed incollando
il collegamento nel tuo browser: [...]

收到的电子邮件是这样转换的:

*Gentile Utente,*

Un amministratore ha creato il tuo profilo utente sul sito DEV. Puoi
autenticarti con un clic su questo collegamento oppure copiando ed incollando
il collegamento nel tuo browser: [...]

1 个答案:

答案 0 :(得分:0)

Here是一种解决方案。

安装并启用htmlmail模块并在“默认邮件系统”的thmlmail模块中选择“发件人”和“格式化程序”就足够了。

顺便说一句,您可以使用SendGrid模块(信息)。