Недавно поступил запрос на обеспечение корректного отображения BBCode-сообщения с форума.
В поддержке я выяснил, что BBCode-теги просто вырезаются из текста сообщения перед отправкой на почту, т.к. почтовые клиенты их не понимают. В результате списки, таблицы, отформатированный текст превращаются в неудобочитаемый текст. Картинок тоже не видно.
С другой стороны, все современные почтовые клиенты понимают HTML.
С учётом того, что BBCode отличается от HTML скобками, напрашивается следующее решение:
- Вместо вырезания тэгов BBCode нужно переделывать его в HTML-код.
- Для пользователей, использующих специфические почтовые клиенты, "не понимающие" HTML, можно сохранить старый подход в виде флага в соответствующем окне настройки.
- Можно ввести ряд дополнительных настроек, конкретизирующих форматирование HTML: толщина бордюра таблицы, символ ненумерованного списка и пр..
Добавлено 2015.04.16
Как вариант: можно реализовать возможность обработки текста письма в отдельном файле, в котором код пишет сам пользователь (такое изменение минимально для разработчика, а пользователи смогут сами писать нужный код или установить соответствующий модуль, если таковой(ые) появится).