On Wed, Dec 08, 2010 at 11:01:04AM -0800, Chip Camden thus spake:
Quoth Amit Ramon on Wednesday, 08 December 2010:
Hello list,

I'd like to announce a new tool that I developed that allows sending
HTML-formatted mail from within Mutt. I know... being a Mutt's user
already means we are no big fans of HTML mail, but I had some reasons
for developing this tool, as I shall explain now.

I'm using Mutt as my main mail reader/writer for a couple of years now
and am very pleased with it. My only problem was when communicating
with people who are using web-mail for reading their mail. I'm writing
lots of mails in Hebrew, which is a right-to-left language. It seems
that many web-mail clients are not handling text/plain messages (this
is basically what Mutt sends) in some situations. The reason for that,
AFAIK, is that they just don't know the language direction and have to
make an arbitrary decision. Gmail, for example, seems to be basing
this decision on the UI language setting. If the user, for instance,
sets the language to English, a text/plain message will be
left-aligned, no matter in which language it is written. When the text
mixes words in both RTL and LTR languages, the order of the words
might be wrong. The same would happen if the UI languages is set to
Hebrew, but one tries to read a text/plain message in English. Since I
have (or just want...) to communicate with people who are not using
Mutt, and even like using web-mail clients, I decided to come up with
a solution.

The solution I came with is a 'filter' that stands between Mutt and
the actual mail-sending utility (e.g. sendmail or msmtp). Mutt is
configured to pass the mail to this new tool instead to sendmail. The
tool - plainMail2HTML - parses the mail, generates a HTML part and
attaches it to the message, and then passes it over to sendmail. So if
the original mail has only text so its type is text/plain, it would
become a multipart/alternative message that contains text/plain and
text/html parts. This is done automatically for every mail, or you can
of course configure the behavior using hooks and macros.

Another feature of plainMail2HTML is that it contains a parser that
parse reStructuredText (a text markup language) so I can control the
formatting of the mail. This parse is designed to be modular, so it
can be replaced with a different parser (although this was not yet
tried).

plainMail2HTML is written in Python and uses docutils. It also uses a
variation of docutils rst-to-html utility that reads the text and
insert direction tags into the html (dir="RTL", dir="LTR") so the
resulting HTML is BIDI-aware.

I just created a project for it on Sourceforge. I've been using it for
many months now and it's working pretty nice. It can also handle
forwarded messages and messages with attachments. It still lacks some
features and better error handling.

The project is https://sourceforge.net/projects/plain2html/

There is additional information in the README file on the project
page, and you can download a beta version. The project yet lacks
decent documentation, but I'd be glad to answer any question about it.

I hope some of you would find this interesting and perhaps even
useful. I'd be happy to hear any comments and suggestions. Developers
are welcome to join the project, too.

Best,

Amit

--

::

    Amit    עמית
    Ramon   רמון

On a related topic, is there any way to get mutt to display RTL for
certain characters?  The Hebrew characters in your signature, for
instance, are displayed LTR in my mutt, so they read backwards.

Hebrew is left to right. That is how it is supposed to be read as a
language.


--
Sterling (Chip) Camden    | sterl...@camdensoftware.com | 2048D/3A978E4F
http://camdensoftware.com | http://chipstips.com        | http://chipsquips.com



--
i am a mutthead

Reply via email to