Dan Davison <davi...@stats.ox.ac.uk> writes: > "Eric Schulte" <schulte.e...@gmail.com> 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. <pre style="...">). 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 <pre style="background-color: #EEE;"> elements (defun org-mail-change-pre-colors (foreground background) "Set new default htlm colors for <pre> elements in exported html mail." (while (re-search-forward "<pre" nil t) (replace-match (format "<pre style=\"color: %s; background-color: %s;\"" foreground background)))) ;; example addition to `org-mail-html-hook' adding a dark background ;; color to <pre> 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 _______________________________________________ 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