Разработчики решили в drupal 7 по умолчанию сделать отправку писем в формате plain text. Довольно неожиданный ход. Фактически, когда вы вызываете drupal_mail, на последнем этапе вызывается функция форматирования письма и там уже удаляются все html теги.
Функция эта принадлежит одному из классов ядра Drupal, а именно — MailSystemInterface. Чтобы нам добиться желаемого результата, т.е. отправить письмо в нужном нам формате с HTML тегами, придется расширить этот класс, а потом объявить друпалу, что мы хотим использовать именно его в нашем случае.
Как это сделать обсуждается здесь — http://drupal.org/node/900794.
А также это описано у меня в блоге + отправка письма с вложением.
Кроме того, нужно не забыть поправить заголовок письма, чтобы почтовые программы тоже понимали, что от них хотят. Т.е в ваш hook_mail добавить строку вида:
|
|
function myModule_mail($key, &$message, $params) { ... //поправим Content-Type по умолчанию содержащий - text/plain; charset=UTF-8; format=flowed; delsp=yes $message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed; delsp=yes'; ... } |
Данная запись опубликована в 24.06.2011 14:37 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 1, 2016 г.
Из кода программы на PHP мы попытаемся загрузить картинку в публикацию сайта на Drupal 7. Здесь описана логика и показан код всех операций.
Постановка задачи
Эта задача является частью задачи импорта статьи, извлеченной из HTML кода веб-страницы ...
Читать
Август 10, 2023 г.
Допустим, вы получаете следующие данные - заголовок, текст статьи, и теги. При этом данные поставляются на двух языках - 'ru' и 'en'. Вам требуется программно сохранить статью и её перевод.
Я полагаю, что уже активирован модуль Content Translation, ...
Читать
Май 8, 2023 г.
В Drupal 9/10 нет jQuery плагина once(), потому при использовании этой функции вы увидите сообщение о том, что once - не является функцией.
Плагин удобен, но его не сложно заменить в коде буквально парой вставок. Он работает по следующему алгоритму ...
Читать
Июль 19, 2025 г.
При работе с таксономией в Drupal нередко возникает потребность отображать термины по-разному в зависимости от контекста. Например, один и тот же термин в режиме teaser должен выводиться компактно, а в режиме full — с подробным описанием.
Если вы используете ...
Читать