From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Eric Schulte" Subject: Re: [CONTRIB?] using orgmode to send html mail? Date: Wed, 31 Mar 2010 15:10:18 -0600 Message-ID: <87eij05had.fsf@gmail.com> References: <878w9krtyn.wl%dmaus@ictsoc.de> <871vfa24qo.fsf@gmail.com> <87pr2uww2d.fsf@columbia.edu> <87tys5zrwm.fsf@gmail.com> <87sk7pzk02.fsf@stats.ox.ac.uk> <87tys5r3q6.fsf@gmail.com> <87ocid7cuj.wl%dmaus@ictsoc.de> <874ok5qxp9.fsf@gmail.com> <87vdckksnj.wl%dmaus@ictsoc.de> <874ok33zje.fsf@gmail.com> <87zl1vf4ru.wl%dmaus@ictsoc.de> <874ok311t9.fsf@gmail.com> <87y6h85pid.fsf_-_@gmail.com> <87fx3g1cld.fsf@stats.ox.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nx5BD-0008KO-CJ for emacs-orgmode@gnu.org; Wed, 31 Mar 2010 17:10:27 -0400 Received: from [140.186.70.92] (port=41847 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nx5BB-0008Jt-MU for emacs-orgmode@gnu.org; Wed, 31 Mar 2010 17:10:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Nx5B9-0005x6-Ht for emacs-orgmode@gnu.org; Wed, 31 Mar 2010 17:10:25 -0400 Received: from mail-qy0-f194.google.com ([209.85.221.194]:53825) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Nx5B9-0005x1-CU for emacs-orgmode@gnu.org; Wed, 31 Mar 2010 17:10:23 -0400 Received: by qyk32 with SMTP id 32so569915qyk.12 for ; Wed, 31 Mar 2010 14:10:22 -0700 (PDT) In-Reply-To: <87fx3g1cld.fsf@stats.ox.ac.uk> (Dan Davison's message of "Wed, 31 Mar 2010 16:05:18 -0400") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Dan Davison Cc: emacs-orgmode@gnu.org Dan Davison writes: > "Eric Schulte" writes: > >> Hi, >> >> I've been using the code currently located at [1] for sending HTML email >> [2] for a little while now, and it is working very well. > > Hi Eric, > > I just tried pasting content from an org file into a message-mode buffer > and calling org-mail-htmlize on the region, and sending the resulting > message to gmail. It worked very nicely, with two drawbacks: > > 1. The content contained links to an image like [[file:file.png][]]. I > had to manually copy the image to /tmp in order for it to be found on > sending. > As the mail composition buffer doesn't really live on the file system relative paths will not work. I believe specifying an absolute path to the image would work, or as you mentioned during export the mail buffer is written to the /tmp directory, so basing relative paths there will also work. I think this behavior is sufficient, and can't think of any good alternative. Note that images generated during export to html (e.g. latex images, babel images, etc...) will be resolved correctly. > > 2. The TODO keywords and timestamps lacked their org-mode >fontification. > Ah yes, sites like gmail are careful not to allow page-wide css in HTML mail. All css must be embedded into specific html elements (e.g.
).  This is reasonable on their parts as a malicious email
could destroy the rendering of the web interface.

>
> Is there a different procedure I should use to do what I'm trying to
>do, or are these tweaks that could be made to your code? I have not
>attempted to follow the technical aspects of this thread so I may well
>be misunderstanding stuff here.
>

There is a hook provided in the supplied code, currently called
`org-mail-html-hook' which you can use to doctor the final html.  For
example I use the following to force a dark background on all my code
blocks.

--8<---------------cut here---------------start------------->8---
;; example hook, for setting a dark background in 
 elements
(defun org-mail-change-pre-colors (foreground background)
  "Set new default htlm colors for 
 elements in exported html mail."
  (while (re-search-forward " elements
(add-hook 'org-mail-html-hook
          (lambda ()
            (org-mail-change-pre-colors "#E6E1DC" "#232323")))
--8<---------------cut here---------------end--------------->8---

An extension of this could be used to add missing CSS elements where
required.

Best -- Eric

>
> Thanks!
>
> Dan
>
>
>
>>
>> I wonder if this should be included in the contrib directory of
>> Org-mode?  Also, since it currently only supports gnus (it should be
>> very easy to extend to WL and VM, but I don't have access to these other
>> mailers for testing/verification) maybe it should be sent to the gnus
>> mailing list instead?
>>
>> Cheers -- Eric
>>
>> Footnotes: 
>> [1]  http://github.com/eschulte/org-html-mail
>>
>> [2] In defense of sending html mail I should mention that I've only been
>>     using it to send tables and latex images to people who I know don't
>>     have access to a true fixed-width font email client.  In addition
>>     the code presents html as one multipart/alternative with the full
>>     org-mode plain text presented as a text alternative, so those who
>>     care and who have control over their email clients can opt to view
>>     the text portion and ignore the html.  In gnus this is possible with
>>     
>>     (setq mm-discouraged-alternatives '("text/html" "text/richtext"))
>>
>>
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Please use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode