Разработчики решили в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 8, 2021 г.
Привычная функция watchdog, которую мы использовали в 6/7 версиях, к девятке пережила эволюцию до сервиса логирования.
Бывшее ранее:
[crayon-692d80fe512ff018092060/]
Сейчас выглядит так:
[crayon-692d80fe5130c717741815/]
Помимо того, ...
Читать
Ноябрь 8, 2015 г.
Drupal - это прежде всего CMS, т.е. система управления контентом. Поэтому все в drupal так или иначе связано с главным объектом системы - с нодами (nodes). Опросы, статьи, разделы сайта, голосования и публикации в форуме - это все экземпляры объекта node, ...
Читать
Август 7, 2021 г.
Если файл загружен через поле, созданное в конструкторе полей какого либо entity Drupal, то соответствующий модуль, предоставляющий функционал загрузки файла, сам обеспечит установку необходимого статуса. Что если поле было создано программно, и требуется ...
Читать
Ноябрь 13, 2017 г.
Если в коде необходимо проверить авторизовался ли текущий пользователь, то можно использовать как минимум два подхода.
Глобальная переменная user
GLOBALS['user'] в Drupal хранит объект текущего пользователя, расширенного информацией о ролях пользователя. ...
Читать