Разработчики решили в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Декабрь 24, 2017 г.
Если вы практикуете вызов и рендеринг объектов views из кода, то возможно вам пригодится следующий пример задания значения контекстного фильтра напрямую из вашей программы.
Программное задание значений фильтров я уже рассматривал ранее. Принцип ...
Читать
Март 22, 2018 г.
Если вы используете в своей форме (API Drupal 7) поле даты, поставляемое модулем date/date_popup, то возможно, хотели бы избавиться от поля ввода времени. ...
Читать
Ноябрь 19, 2015 г.
Небольшой путеводитель по написанию модуля для Drupal 7.
Любой "приличный" проект на drupal (да и в других CMS) требует как минимум трех вещей:
Взять подходящую сборку drupal (с нужными модулями, установленным Wysiwyg редактором, русификацией); ...
Читать
Март 24, 2010 г.
Не все дизайнерские решения укладываются в оформление посредством css. В этот раз, это - главное меню сайта. Нужно было изобразить отдельные пункты меню отдельными картинками, а активные элементы меню показать другими картинками. Есть действительно оригинальные ...
Читать