[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Orgmode] using orgmode to send html mail?
From: |
Eric Schulte |
Subject: |
Re: [Orgmode] using orgmode to send html mail? |
Date: |
Wed, 24 Mar 2010 12:01:55 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.90 (gnu/linux) |
Thanks Dan,
I'm happy to hear I'm not the only person who's enjoying playing with
this :).
Aside from changing the mime-delimeters for VM and wanderlust, it seems
to me that the only remaining step between the current functionality and
a seamless use of org-mode for email composition, is the resolution of
images as email attachments. That would allow emails with embedded
latex (which I personally would find very compelling), as well as
embedded ditaa diagrams and images. If anyone knows more about mime,
I'd be interested to hear suggestions, but I may try a first pass using
`replace-regexp' to replace all <img> links with inline mime image
attachments.
I've just made a couple of small changes, and pushed this file up to a
git repo at http://github.com/eschulte/org-html-mail, or for raw elisp
http://github.com/eschulte/org-html-mail/raw/master/org-mml-htmlize.el
Cheers -- Eric
Dan Davison <address@hidden> writes:
> "Eric Schulte" <address@hidden> writes:
>
>> Xiao-Yong Jin <address@hidden> writes:
>>
>>> On Tue, 23 Mar 2010 13:54:39 -0600, Eric Schulte wrote:
>>>
>>>> Nice to see this topic has come back to life.
>>>> I've been playing with my old org-html-mail.el file, and come up with a
>>>> much simpler solution, which takes advantage of the mml message mode
>>>> functionality with is used in gnus (and I would imagine in some other
>>>> Emacs mail clients, but I can't be sure).
>>>
>>>> Just call this function and either the active region of your message
>>>> buffer or the entire body (if no region is active) will be exported to
>>>> html using org-mode, and will be wrapped in the appropriate mml wrapper
>>>> to be sent as the appropriate mime type.
>>>
>>
>> I've cleaned up the function somewhat, I'll include it immediately
>> below by inserting it in a org-mode src_block and then exporting it to
>> html, so those with html mail readers should see a nicely fontified
>> version of the source code.
>
> This is really nice. I already sent my first HTML-formatted tables to
> colleagues with it yesterday. And yes, the email comes up with nicely
> formatted elisp in my web browser after hitting 'K H' in gnus.
>
> Dan
>
>>
>> (defun org-mml-htmlize (arg)
>> "Export a portion of an email body composed using `mml-mode' to
>> html using `org-mode'. If called with an active region only
>> export that region, otherwise export the entire body."
>> (interactive "P")
>> (let* ((region-p (org-region-active-p))
>> (html-start (or (and region-p (region-beginning))
>> (save-excursion
>> (goto-char (point-min))
>> (search-forward mail-header-separator)
>> (point))))
>> (html-end (or (and region-p (region-end))
>> ;; TODO: should catch signature...
>> (point-max)))
>> (body (buffer-substring html-start html-end))
>> (tmp-file (make-temp-name (expand-file-name "mail" "/tmp/")))
>> ;; because we probably don't want to skip part of our mail
>> (org-export-skip-text-before-1st-heading nil)
>> ;; because we probably don't want to export a huge style file
>> (org-export-htmlize-output-type 'inline-css)
>> ;; makes the replies with ">"s look nicer
>> (org-export-preserve-breaks t)
>> (html (if arg
>> (format "<pre style=\"font-family: courier,
>> monospace;\">\n%s</pre>\n" body)
>> (save-excursion
>> (with-temp-buffer
>> (insert body)
>> (write-file tmp-file)
>> ;; convert to html -- mimicing
>> `org-run-like-in-org-mode'
>> (eval (list 'let org-local-vars
>> (list 'org-export-as-html nil nil nil
>> ''string t))))))))
>> (delete-region html-start html-end)
>> (save-excursion
>> (goto-char html-start)
>> (insert
>> (format
>> "\n<#multipart type=alternative>\n<#part
>> type=text/html>%s<#/multipart>\n"
>> html)))))
>>
>>
>>>
>>> Thumbs up for this one. It should be included in
>>> org-contrib, probably after taken care of other mail client
>>> in emacs?
>>>
>>
>> I have looked somewhat at both VM and Wanderlust, but they appear to use
>> their own mime encoding schemes other than mml, so this won't work as-is
>> in those mail clients. That said, assuming they also use simple mime
>> encoding strings it should be hard to replace the mml specific mime
>> delimiters presented as strings in the above functions with string
>> delimiters appropriate for the other mail agents.
>>
>> also, I have to say I feel bad about publishing code which promotes the
>> use of HTML mail. Generally I feel that everyone would be better off if
>> they just used fixed width text email clients. As a concession to that
>> intuition, if this function is called with a prefix argument, it will
>> wrap the region (or entire email) as html in <pre></pre> tags ensuring
>> that it will be rendered in a fixed-with font no-matter the receivers
>> email client, so the following table should actually look like a
>> table...
>>
>> | this table | | n | fibb(n) |
>> |--------------+---+---+---------|
>> | is | | 0 | 0 |
>> | inside | | 1 | 1 |
>> | of a pre box | | 2 | 1 |
>> | | | 3 | 2 |
>>
>>
>> Best -- Eric
>>
>>>
>>>> So for example this
>>>>> 1 | 2 | 3 |
>>>>> --------------+--------+-------|
>>>>> first column | second | third |
>>>
>>>> will be exported as this
>>>> ━━━━━━━━━━━━━━
>>>> 1 2 3
>>>> ──────────────
>>>> first column second third
>>>> ━━━━━━━━━━━━━━
>>>
>>> I use emacs-w3m in gnus, and the table looks great.
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
- [Orgmode] using orgmode to send html mail?, Matt Price, 2010/03/21
- [Orgmode] Re: using orgmode to send html mail?, Matt Price, 2010/03/22
- Re: [Orgmode] using orgmode to send html mail?, David Maus, 2010/03/22
- Re: [Orgmode] using orgmode to send html mail?, Eric Schulte, 2010/03/23
- Re: [Orgmode] using orgmode to send html mail?, Xiao-Yong Jin, 2010/03/23
- Re: [Orgmode] using orgmode to send html mail?, Eric Schulte, 2010/03/24
- Re: [Orgmode] using orgmode to send html mail?, Dan Davison, 2010/03/24
- Re: [Orgmode] using orgmode to send html mail?,
Eric Schulte <=
- Re: [Orgmode] using orgmode to send html mail?, David Maus, 2010/03/24
- Re: [Orgmode] using orgmode to send html mail?, Eric Schulte, 2010/03/24
- Re: [Orgmode] using orgmode to send html mail?, David Maus, 2010/03/25
- Re: [Orgmode] using orgmode to send html mail?, Eric Schulte, 2010/03/26
- Re: [Orgmode] using orgmode to send html mail?, David Maus, 2010/03/26
- Re: [Orgmode] using orgmode to send html mail?, Eric Schulte, 2010/03/26
- Re: [Orgmode] [CONTRIB?] using orgmode to send html mail?, Eric Schulte, 2010/03/31
- Re: [Orgmode] [CONTRIB?] using orgmode to send html mail?, Dan Davison, 2010/03/31
- Re: [Orgmode] [CONTRIB?] using orgmode to send html mail?, Eric Schulte, 2010/03/31
- Re: [Orgmode] [CONTRIB?] using orgmode to send html mail?, Dan Davison, 2010/03/31