Разработчики решили в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Август 5, 2021 г.
В Drupal 7 вы могли использовать функцию l($text, $url, $options) для генерации HTML кода тега <A>. В Drupal 9 подход коренным образом изменился, и прямого "наследника" устаревшей функции нет.
Чтобы получить примерно тот же функционал придется ...
Читать
Август 26, 2021 г.
Есть список районов города, доставка в которые имеет фиксированную ставку. Пользователь выбирает район - программа должна подставить цену доставки для ...
Читать
Май 6, 2010 г.
Сейчас куда ни глянь, пошла мода в качестве имени при авторизации использовать не пресловутый login, а адрес электронной почты. И это действительно удобно. Адрес почты уникален для каждого пользователя, хорошо запоминается самим пользователем и не возникает ...
Читать
Октябрь 17, 2024 г.
Особенно полезно, когда вы использовали проект как шаблон для другого сайта и надо почистить данные. Друпал хоть и показывает статистику использования файлов, но удалять файлы не позволяет из реестра /admin/content/files.
Напишем небольшой скрипт, ...
Читать