Postfix: как сконвертировать входящее письмо из html в plain text?

Ссылка скопирована
1 ответ

Здравствуйте! Помогите, если сможете. Есть некий сервис техподдержки, государственный, который отрабатывает инциденты по работе информационной системы. Туда направляют запросы, а он по электронной почте отвечает. Всё бы нормально, только делает он это "своеобразно" (мы политкорректны и некрасивые слова не используем!) - присылает html-письмо в MIME с шапкой, куда ещё и внутри вложен inline-вложением дополнительный html-файл с конкретным ответом по конкретно нашему запросу. Всё бы ничего, почтовая программа html отрабатывает, но вот html внутри html - уже нет. Да, почтовая программа использует не очень современный web-движок, а может быть, у движка подобное отключено по соображениям безопасности. Вот, Outlook и Thunderbird подобное умеют, а эта программа - нет, даже последняя версия. Попробовал Sylpheed - очень коряво, но показывает (просто игнорируя html-теги). Итак, возникла идея - а можно ли настроить в Postfix фильтр, который на лету, в процессе приёма письма, конвертировал бы его из html в plain text? Идеально - только для домена этого отправителя. Как возможно такое реализовать?

Дополнительно:

Ответы:

просто для направления мысли
смотри, можно сделать алиас для получения писем от этого клиента. а вот для алиаса сделать чтото типа
usermail: "|/path/to/myscript.pl"
а уж там в скрипте обрабатывать сообщение как угодно.

  • еще есть такая штука как mailbox_command , там тоже можно всякое исполнять
    https://www.postfix.org/postconf.5.html#mailbox_command
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Андрей PHP Ответ

Для конвертации входящего письма из формата HTML в обычный текст (plain text) можно использовать различные методы в зависимости от языка программирования, который вы используете. Ниже приведен пример на PHP:

// Функция для конвертации HTML в plain text
function htmlToPlainText($html) {
    // Удаляем все HTML теги
    $text = strip_tags($html);
 
    // Декодируем HTML entities
    $text = html_entity_decode($text);
 
    // Удаляем лишние пробелы и символы переноса строк
    $text = preg_replace('/\s+/', ' ', $text);
 
    return $text;
}
 
// Пример использования
$htmlContent = '<h1>Привет, мир!</h1><p>Это HTML письмо.</p>';
$plainTextContent = htmlToPlainText($htmlContent);
 
echo $plainTextContent;

// Функция для конвертации HTML в plain text function htmlToPlainText($html) { // Удаляем все HTML теги $text = strip_tags($html); // Декодируем HTML entities $text = html_entity_decode($text); // Удаляем лишние пробелы и символы переноса строк $text = preg_replace('/\s+/', ' ', $text); return $text; } // Пример использования $htmlContent = '<h1>Привет, мир!</h1><p>Это HTML письмо.</p>'; $plainTextContent = htmlToPlainText($htmlContent); echo $plainTextContent;

Этот код преобразует HTML контент в обычный текст, удаляя все HTML теги, декодируя HTML entities и удаляя лишние пробелы и символы переноса строк. Вы можете использовать эту функцию в своем проекте для конвертации входящих писем из HTML в plain text.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно