Преобразовать электронную почту HTML с вложенными цитатами в обычный текст для электронной почты (pando c)? - PullRequest
0 голосов
/ 18 июня 2020

У меня такая проблема, когда, скажем, я пишу электронные письма в виде обычного текста; кто-то другой отвечает в HTML - при этом их клиент конвертирует символы кавычек электронной почты в теги <blockquote>; а затем я снова хочу ответить на это обычным текстом. Однако мой клиент веб-почты здесь будет интерпретировать только первый уровень вложенности <blockquote> для символов кавычек, тем самым теряя все уровни вложенности цитат.

Итак, сначала я подумал, что могу обмануть его с помощью Thunderbird: start новое электронное письмо («Написать») в формате HTML, затем у вас есть опция «Вставить» в окне сообщения электронной почты «Написать /« Написать: », выбрать« Вставить / HTML »и вставить необработанное электронное письмо HTML (у моего клиента веб-почты есть опция, позволяющая копировать необработанное HTML из HTML электронного письма, и это здорово), сохраните это как черновик электронного письма. Затем ответьте на этот черновик электронной почты - мой Thunderbird настроен так, чтобы всегда отвечать открытым текстом; однако и здесь только первый уровень <blockquote> преобразуется обратно в символы кавычек, поэтому уровни вложения в кавычки / потоки исчезли.

Итак, я подумал - возможно, я могу использовать pandoc для этого преобразования вместо? И действительно, это работает - вот пример HTML электронной почты, который я сохранил как text.html:

 
 
 
john@example.com skrev den 17.06.2020 22:30:




Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc at blandit velit.
 

From: john@example.com
To: "Jack Jackson" <jack@example.com>
Cc: "Bob Bobson" <bob@example.com>, "Fred Fredson" <fred@example.com>, "Jim Jimson" <jim@example.com>
Sent: Wednesday, 17 June, 2020 22:24:47
Subject: Re: My Email Subject 01   Hi there,
In hac habitasse platea dictumst. Sed nec purus leo. In est metus, tempor quis dapibus id, mollis ut est.
Morbi eu mauris sodales, sagittis nisl at, euismod quam. Proin mauris tortor, viverra eu erat eget, ultrices ornare justo. Donec lacinia nisi sit amet dolor semper posuere.
Pellentesque mattis, nisl quis scelerisque blandit, enim ipsum vestibulum diam, eu feugiat metus diam vel nisi. Etiam porttitor nisl ut ultrices feugiat.
Maecenas et neque at ante bibendum tempus vel a est. Sed vehicula urna augue, quis rutrum sapien congue et. Nullam ac elit quis metus ullamcorper placerat sed quis nunc:
1: Aliquam vestibulum lobortis dui, in mattis ipsum euismod sed.
2: Phasellus et fringilla tortor.
3: Donec diam nunc, aliquet a ultrices nec, interdum at dolor.
Fusce euismod finibus mi, sed viverra orci pulvinar non. Suspendisse in magna ut nunc finibus tempor eget et tortor.
Nullam sollicitudin sem id nibh placerat pellentesque. Ut fermentum pharetra venenatis. Maecenas vehicula, mauris a tincidunt vulputate, ante turpis finibus diam, a interdum ex sapien vel lorem. Nunc faucibus est eu eleifend venenatis. Mauris sed egestas nisi. Fusce suscipit tortor ac ultrices scelerisque. In hac habitasse platea dictumst.
Mauris tempor egestas nibh, a congue sapien tristique at. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla quam felis, tincidunt eget pretium ut, tempus vel tellus

Etiam tincidunt risus sapien, eget tristique dolor dignissim a. Maecenas mi quam, auctor sit amet hendrerit id, finibus in ligula.
Cheers John
From: john@example.com
To: "Jack Jackson" <jack@example.com>
Cc: "Bob Bobson" <bob@example.com>, "Fred Fredson" <fred@example.com>, "Jim Jimson" <jim@example.com>
Sent: Wednesday, 17 June, 2020 21:41:05
Subject: Re: My Email Subject 01
Phasellus non dolor pharetra turpis viverra varius non vitae lectus. Quisque egestas, diam quis viverra fringilla, ex urna consequat tortor, vel aliquet arcu purus sit amet nisi.
From: "Jack Jackson" <jack@example.com>
To: john@example.com, "Bob Bobson" <bob@example.com>
Cc: "Fred Fredson" <fred@example.com>, "Jim Jimson" <jim@example.com>
Sent: Wednesday, 17 June, 2020 21:34:53
Subject: Re: My Email Subject 01
Hi there Suspendisse non nunc feugiat sapien pellentesque eleifend.
Quisque ipsum elit, volutpat eu mollis ac, hendrerit id ante..
Proin in nisi mi. Sed in lobortis risus. Donec sit amet ullamcorper mi.
Jack
  Den 17-06-2020 kl. 21:28 skrev john@example.com: Hi there, Nulla eget diam nunc. Pellentesque in metus ligula. Donec finibus erat id pharetra faucibus. Maecenas enim dui, semper eleifend nulla molestie, vulputate vulputate est. Nam sit amet elit non dolor rhoncus pulvinar eget eu metus. Vestibulum hendrerit pretium nunc. Nullam diam massa, dictum a velit non, eleifend maximus nulla. Vivamus vel congue nunc. In eget justo a lectus pulvinar facilisis. ----- Original Message ----- From: "Bob Bobson" <bob@example.com> To: john@example.com Cc: "Jack Jackson" <jack@example.com>, "Fred Fredson" <fred@example.com>, "Jim Jimson" <jim@example.com> Sent: Wednesday, 17 June, 2020 16:40:54 Subject: Re: My Email Subject 01 Hi there, Duis lacinia arcu sit amet aliquet sagittis. Integer tempor tortor eu ornare mattis. Morbi condimentum auctor sodales. Maecenas ultrices leo at massa commodo sagittis. Etiam justo est, mollis sed pellentesque quis, convallis nec ipsum. Nunc eget nisl lacinia, ultricies magna ac, rutrum dui. Vestibulum vulputate ut lorem eu bibendum. Vestibulum fermentum turpis est, a pulvinar tortor sollicitudin in. Fusce tempor felis vel sem posuere, ac sodales justo suscipit. Nullam a orci ut ex condimentum porta eget et eros. Maecenas congue erat ut nulla tempor pharetra. Nullam velit quam, venenatis eget neque eget, porttitor consectetur neque. Sed sed neque magna. ænean ornare, diam eget porttitor vestibulum, enim nibh tempus enim, a tempor nisl neque id velit.
Praesent eget vehicula urna, at vulputate elit. Aenean a ornare justo.
Vivamus
eu nunc consectetur, mattis ex nec, commodo metus.
denne værdi,
Donec consectetur et lectus vel elementum. Pellentesque eget pretium
enim.
Ah - Etiam tempor ultrices nisl, quis malesuada sem blandit vel.
Vivamus dignissim felis quis ante volutpat condimentum.?


Proin at sapien vitae enim pretium imperdiet non vitae metus.

Cheers,
Bob








Hi there,

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse neque augue,
viverra eu pharetra nec, volutpat id sapien. Vestibulum facilisis ligula nisl,
in dictum velit tristique in. Pellentesque sagittis et justo quis pretium. Lorem
ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse potenti.
Pellentesque cursus accumsan urna, eu ultricies ipsum tincidunt sed.

Cheers John
-------------------------

From: "Jack Jackson" <jack@example.com>
To: "John Johnson" <john@example.com>
Cc: "Bob Bobson" <bob@example.com>
Sent: Wednesday, 17 June, 2020 13:40:56
Subject: Re: My Email Subject 01

Hello there

Sed consectetur arcu ut facilisis interdum.

Nunc ante libero, faucibus vel ultricies sit amet, gravida nec
leo. Donec euismod risus ac leo efficitur, blandit pretium turpis feugiat.
Nam placerat, lectus quis consectetur malesuada, turpis ante aliquam velit,
in fermentum dolor ligula at eros.

Cheers Jack

Den 17-06-2020 kl. 13:31 skrev john@example.com:

Hi there,

Nunc eget metus eu ex maximus vehicula. Donec pretium ex vel felis condimentum,
eget pretium ante pulvinar. Pellentesque sed eros vitae ante lobortis venenatis
ut in nulla. Praesent a facilisis metus, et dignissim elit. Duis quis dui risus.

Donec et nunc at urna accumsan molestie. Praesent ultricies molestie metus at
venenatis. Curabitur mattis dolor laoreet, porttitor odio id, porttitor nisl.
Suspendisse finibus est ac sem lacinia dignissim. Donec vel pellentesque magna.
Pellentesque a volutpat ante. Vivamus urna mi, aliquet in tortor eget,
malesuada blandit turpis.

Best Regards

John

Лучшее, что я получил от pandoc, было использование этой командной строки:

pandoc -f html -t markdown-raw_html-native_divs-native_spans-fenced_divs-bracketed_spans-smart-escaped_line_breaks test.html -o test.txt

... и в этом случае я получаю следующий результат:

 

 

 

john\@example.com skrev den 17.06.2020 22:30:

> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc at
> blandit velit.
>
>  
>
> ------------------------------------------------------------------------
>
> **From:** john\@example.com
> **To:** "Jack Jackson" \<jack\@example.com\>
> **Cc:** "Bob Bobson" \<bob\@example.com\>, "Fred Fredson"
> \<fred\@example.com\>, "Jim Jimson" \<jim\@example.com\>
> **Sent:** Wednesday, 17 June, 2020 22:24:47
> **Subject:** Re: My Email Subject 01
>
>  
>
> Hi there,
>
>
>
> In hac habitasse platea dictumst. Sed nec purus leo. In est metus,
> tempor quis dapibus id, mollis ut est.
>
>
>
> Morbi eu mauris sodales, sagittis nisl at, euismod quam. Proin mauris
> tortor, viverra eu erat eget, ultrices ornare justo. Donec lacinia
> nisi sit amet dolor semper posuere.
>
>
>
> Pellentesque mattis, nisl quis scelerisque blandit, enim ipsum
> vestibulum diam, eu feugiat metus diam vel nisi. Etiam porttitor nisl
> ut ultrices feugiat.
>
>
>
> Maecenas et neque at ante bibendum tempus vel a est. Sed vehicula urna
> augue, quis rutrum sapien congue et. Nullam ac elit quis metus
> ullamcorper placerat sed quis nunc:
> 1: Aliquam vestibulum lobortis dui, in mattis ipsum euismod sed.
> 2: Phasellus et fringilla tortor.
> 3: Donec diam nunc, aliquet a ultrices nec, interdum at dolor.
> Fusce euismod finibus mi, sed viverra orci pulvinar non. Suspendisse
> in magna ut nunc finibus tempor eget et tortor.
>
>
>
> Nullam sollicitudin sem id nibh placerat pellentesque. Ut fermentum
> pharetra venenatis. Maecenas vehicula, mauris a tincidunt vulputate,
> ante turpis finibus diam, a interdum ex sapien vel lorem. Nunc
> faucibus est eu eleifend venenatis. Mauris sed egestas nisi. Fusce
> suscipit tortor ac ultrices scelerisque. In hac habitasse platea
> dictumst.
>
>
>
> Mauris tempor egestas nibh, a congue sapien tristique at. Lorem ipsum
> dolor sit amet, consectetur adipiscing elit. Nulla quam felis,
> tincidunt eget pretium ut, tempus vel tellus
>
>
>
>
> Etiam tincidunt risus sapien, eget tristique dolor dignissim a.
> Maecenas mi quam, auctor sit amet hendrerit id, finibus in ligula.
>
>
>
> Cheers John
>
>
>
> ------------------------------------------------------------------------
>
> **From:** john\@example.com
> **To:** "Jack Jackson" \<jack\@example.com\>
> **Cc:** "Bob Bobson" \<bob\@example.com\>, "Fred Fredson"
> \<fred\@example.com\>, "Jim Jimson" \<jim\@example.com\>
> **Sent:** Wednesday, 17 June, 2020 21:41:05
> **Subject:** Re: My Email Subject 01
>
>
>
> Phasellus non dolor pharetra turpis viverra varius non vitae lectus.
> Quisque egestas, diam quis viverra fringilla, ex urna consequat
> tortor, vel aliquet arcu purus sit amet nisi.
>
>
>
> ------------------------------------------------------------------------
>
> **From:** "Jack Jackson" \<jack\@example.com\>
> **To:** john\@example.com, "Bob Bobson" \<bob\@example.com\>
> **Cc:** "Fred Fredson" \<fred\@example.com\>, "Jim Jimson"
> \<jim\@example.com\>
> **Sent:** Wednesday, 17 June, 2020 21:34:53
> **Subject:** Re: My Email Subject 01
>
>
>
> Hi there
>
> Suspendisse non nunc feugiat sapien pellentesque eleifend.
> Quisque ipsum elit, volutpat eu mollis ac, hendrerit id ante..
> Proin in nisi mi. Sed in lobortis risus. Donec sit amet ullamcorper
> mi.
>
> Jack
>
>  
>
> Den 17-06-2020 kl. 21:28 skrev <john@example.com>:
>
> > ``` {.v1moz-quote-pre}
> > Hi there,
> >
> > Nulla eget diam nunc. Pellentesque in metus ligula.
> >
> > Donec finibus erat id pharetra faucibus. Maecenas enim dui, semper eleifend nulla molestie, vulputate vulputate est.
> >
> > Nam sit amet elit non dolor rhoncus pulvinar eget eu metus. Vestibulum hendrerit pretium nunc. Nullam diam massa, dictum a velit non, eleifend maximus nulla.
> >
> > Vivamus vel congue nunc. In eget justo a lectus pulvinar facilisis.
> >
> >
> >
> > ----- Original Message -----
> > From: "Bob Bobson" <bob@example.com>
> > To: john@example.com
> > Cc: "Jack Jackson" <jack@example.com>, "Fred Fredson" <fred@example.com>, "Jim Jimson" <jim@example.com>
> > Sent: Wednesday, 17 June, 2020 16:40:54
> > Subject: Re: My Email Subject 01
> >
> > Hi there,
> >
> > Duis lacinia arcu sit amet aliquet sagittis. Integer tempor tortor eu ornare mattis. Morbi condimentum
> > auctor sodales. Maecenas ultrices leo at massa commodo sagittis.
> >
> > Etiam justo est, mollis sed pellentesque quis, convallis nec ipsum. Nunc eget
> > nisl lacinia, ultricies magna ac, rutrum dui. Vestibulum vulputate ut lorem eu bibendum.
> >
> >
> > Vestibulum fermentum turpis est, a pulvinar tortor sollicitudin in. Fusce
> > tempor felis vel sem posuere, ac sodales justo suscipit. Nullam a orci ut ex
> > condimentum porta eget et eros. Maecenas congue erat ut nulla tempor pharetra.
> > Nullam velit quam, venenatis eget neque eget, porttitor consectetur
> > neque. Sed sed neque magna.
> >
> > ænean ornare, diam eget porttitor vestibulum, enim nibh tempus enim,
> > a tempor nisl neque id velit.
> > ```
> >
> > > ``` {.v1moz-quote-pre}
> > > Praesent eget vehicula urna, at vulputate elit. Aenean a ornare justo.
> > > Vivamus
> > > eu nunc consectetur, mattis ex nec, commodo metus.
> > > denne værdi,
> > > Donec consectetur et lectus vel elementum. Pellentesque eget pretium
> > > enim.
> > > ```
> >
> > ``` {.v1moz-quote-pre}
> > Ah - Etiam tempor ultrices nisl, quis malesuada sem blandit vel.
> > Vivamus dignissim felis quis ante volutpat condimentum.?
> >
> >
> > Proin at sapien vitae enim pretium imperdiet non vitae metus.
> >
> > Cheers,
> > Bob
> >
> >
> >
> >
> >
> >
> >
> > ```
> >
> > > ``` {.v1moz-quote-pre}
> > > Hi there,
> > >
> > > Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse neque augue,
> > > viverra eu pharetra nec, volutpat id sapien. Vestibulum facilisis ligula nisl,
> > > in dictum velit tristique in. Pellentesque sagittis et justo quis pretium. Lorem
> > > ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse potenti.
> > > Pellentesque cursus accumsan urna, eu ultricies ipsum tincidunt sed.
> > >
> > > Cheers John
> > > -------------------------
> > >
> > > From: "Jack Jackson" <jack@example.com>
> > > To: "John Johnson" <john@example.com>
> > > Cc: "Bob Bobson" <bob@example.com>
> > > Sent: Wednesday, 17 June, 2020 13:40:56
> > > Subject: Re: My Email Subject 01
> > >
> > > Hello there
> > >
> > > Sed consectetur arcu ut facilisis interdum.
> > >
> > > Nunc ante libero, faucibus vel ultricies sit amet, gravida nec
> > > leo. Donec euismod risus ac leo efficitur, blandit pretium turpis feugiat.
> > > Nam placerat, lectus quis consectetur malesuada, turpis ante aliquam velit,
> > > in fermentum dolor ligula at eros.
> > >
> > > Cheers Jack
> > >
> > > Den 17-06-2020 kl. 13:31 skrev john@example.com:
> > > ```
> > >
> > > > ``` {.v1moz-quote-pre}
> > > > Hi there,
> > > >
> > > > Nunc eget metus eu ex maximus vehicula. Donec pretium ex vel felis condimentum,
> > > > eget pretium ante pulvinar. Pellentesque sed eros vitae ante lobortis venenatis
> > > > ut in nulla. Praesent a facilisis metus, et dignissim elit. Duis quis dui risus.
> > > >
> > > > Donec et nunc at urna accumsan molestie. Praesent ultricies molestie metus at
> > > > venenatis. Curabitur mattis dolor laoreet, porttitor odio id, porttitor nisl.
> > > > Suspendisse finibus est ac sem lacinia dignissim. Donec vel pellentesque magna.
> > > > Pellentesque a volutpat ante. Vivamus urna mi, aliquet in tortor eget,
> > > > malesuada blandit turpis.
> > > >
> > > > Best Regards
> > > >
> > > > John
> > > > ```

... и это здорово, потому что вложенные цитаты, наконец, сохраняются как символы кавычек в текстовом выводе ...

Однако мне не нравится, что форматирование остается там, например ``` {.v1moz-quote-pre} или **From:**, или escape-последовательности, такие как "Jack Jackson" \<jack\@example.com\>.

Итак, могу ли я использовать некоторые настройки pandoc, чтобы получить из электронной почты текстовый формат, похожий на электронную почту HTML - без Markdown-specifici c форматирования или backsla sh экранирует угловые скобки или символ @, но при этом сохраняется вложение символов кавычек даже для <blockquote>, как в приведенном выше примере?

В противном случае существует ли какое-либо другое программное обеспечение (или даже онлайн-приложение / веб-страницу), который может преобразовать электронную почту HTML в обычный текст электронной почты, сохраняя вложенные кавычки?

1 Ответ

1 голос
/ 19 июня 2020

Вы можете использовать Lua фильтр и удалить все компоненты документа, которые вы не хотите сохранять. Например, чтобы удалить большую часть встроенной разметки:

function Inline (inln)
  if inln.content then
    return inln.content
  else
    return inln
  end
end

Избежать нежелательных экранирований можно, объявив все слова как предварительно отформатированные Markdown:

function Str (s)
  return pandoc.RawInline('markdown', s.text)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...