emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] [CONTRIB?] using orgmode to send html mail?


From: Dan Davison
Subject: Re: [Orgmode] [CONTRIB?] using orgmode to send html mail?
Date: Mon, 05 Apr 2010 10:53:22 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Hmm, perhaps I should have been a bit more careful with protecting the
various special email constructs in my message. Second try:

Dan Davison <address@hidden> writes:

> Hi Eric,
>
> Thanks a lot for this, I think I'll use it quite a bit.
>
> This may be specific to my setup, but in case this is useful to others,
> as a gnus user I had to do
>
> (setq mail-user-agent 'message-user-agent)
>
> Without altering this --- i.e. with mail-user-agent set to the default
> value of 'sendmail-user-agent --- org-mime-org-buffer-htmlize puts the
> outgoing message in mail-mode (a.o.t. message-mode). For me, that meant
> that the resulting outgoing email was rendered verbatim in gmail,
> whereas from message-mode it is fine. The exact contents of outgoing
> emails are below.
>
> I noticed one small bug, but perhaps it's an org-mode bug? When I use
> org-mime-org-buffer-htmlize on this
>
> ,----
> | *** Tasks
> |     - [ ] Check Popen.returncode of python system calls
> `----
>
> I get the following, which renders as a checkbox with an X, whereas my
> checkbox was empty.

(I've replaced the <> tag delimiters with {})

--8<---------------cut here---------------start------------->8---
{#multipart type=alternative}{#part type=text/plain}

*** Tasks
    - [ ] Check Popen.returncode of python system calls
{#part type=text/html}{div id="outline-container-1" class="outline-3"}
{h3 id="sec-1"}Tasks {/h3}
{div class="outline-text-3" id="text-1"}

{ul}
{li}
{b}[{span style="visibility:hidden;"}X{/span}]{/b} Check Popen.returncode of 
python system calls
{/li}
{/ul}
{/div}
{/div}
{#/multipart}
--8<---------------cut here---------------end--------------->8---

> Comparison of outgoing mail from mail-mode and message-mode:
>
> With an org buffer containing (as active region or not)
>
> ,----
> | * heading
> |   text
> `----
>
> Here is what the outgoing email (i.e. the stdin received by
> sendmail-program) looks like from mail-mode (mail formed by
> org-mime-org-buffer-htmlize)
>

--8<---------------cut here---------------start------------->8---
To: address@hidden
Subject: test

{#multipart type=alternative}{#part type=text/plain}
* heading
  text{#part type=text/html}{div id="outline-container-1" class="outline-2"}
{h2 id="sec-1"}heading {/h2}
{div class="outline-text-2" id="text-1"}

{p}text
{/p}{/div}
{/div}
{#/multipart}
--8<---------------cut here---------------end--------------->8---

> And here is what the outgoing email looks like from message-mode (exact
> same content, but pasted from mail-mode into message-mode).
>

> --8<---------------cut here---------------start------------->8---
> From: Dan Davison <address@hidden>
> To: address@hidden
> Subject: test16
> Date: Mon, 05 Apr 2010 09:26:23 -0400
> Message-ID: <address@hidden>
> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
> MIME-Version: 1.0
> Content-Type: multipart/alternative; boundary="=-=-="
>
> --=-=-=
>
> * heading
>   text
>
> --=-=-=
> Content-Type: text/html
>
> <div id="outline-container-1" class="outline-2">
> <h2 id="sec-1">heading </h2>
> <div class="outline-text-2" id="text-1">
>
> <p>text
> </p></div>
> </div>
>
> --=-=-=--
> --8<---------------cut here---------------end--------------->8---
>
> Dan
>
> "Eric Schulte" <address@hidden> writes:
>
>> Hi,
>>
>> It is now possible to send HTML mail directly form an org-mode buffer.
>>
>> Calling `org-mime-org-buffer-htmlize' (could probably use a better name)
>> from inside of an org-mode buffer will use `org-export-as-html' to
>> generate HTML of the buffer (respecting regions and subtree narrowing),
>> and will then package the resulting HTML with all linked images into a
>> message buffer.
>>
>> As usual thanks to Carsten's thoughtfully organized functions and
>> control variables this was surprisingly easy to implement.
>>
>> Cheers -- Eric
>>
>> The code is still up at http://github.com/eschulte/org-mime
>>
>> "Eric Schulte" <address@hidden> writes:
>>
>>> Dan Davison <address@hidden> writes:
>>>
>>> [...]
>>>
>>>>
>>>> As I understand it the code you've written is designed to be called in a
>>>> message-mode buffer with orgstruct-mode in force. Would it make sense to
>>>> also include in your package a complementary function, that one calls in
>>>> an org-mode buffer? I envisage this generating the HTML, forming the
>>>> multipart email contents, and then saving it to the kill ring, so that
>>>> it can be pasted into an email.
>>>>
>>>> This function would have access to the directory-name and so should be
>>>> able to resolve relative paths. Also, there might be some other
>>>> advantages -- for example when exporting just a region or subtree,
>>>> buffer-wide properties such as #+TITLE and #+AUTHOR are picked up by the
>>>> org exporter and packaged into the HTML.
>>>>
>>>> In other words, can I use your machinery to package up the HTML
>>>> generated by Org's C-e dispatcher into an appropriately-constructed
>>>> email?
>>>>
>>>
>>> Hi Dan,
>>>
>>> That sounds like a good idea, I've added it to a fledgling task list
>>> packaged in the README at [1].  I'd say there are two options.
>>>
>>> 1) which you mentioned saving the entire exported content to the
>>>    kill-ring.  One problem here is that everything is still text and
>>>    pastable only *before* the mime export process, which means that
>>>    linked images wouldn't resolve after pasting into the email client.
>>>
>>> 2) having the function generate a new mail buffer containing the
>>>    exported content.  This buffer would need to have it's
>>>    `buffer-file-name' set, for images to resolve during export.  I'm not
>>>    sure how this should best work.
>>>
>>> Thanks -- Eric
>>>
>>> Footnotes: 
>>> [1]  http://github.com/eschulte/org-mime
>>
>>
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode




reply via email to

[Prev in Thread] Current Thread [Next in Thread]