Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Org-mime should now fully support the WL mailer, thanks to Eric S Fraga. I've updated the documentation on worg, but basically to use org-mime with WL, you need only add the following to your config. --8<---cut here---start->8--- (require 'org-mime) (setq org-mime-library 'semi) --8<---cut here---end--->8--- Now if any VM users want to add VM mime syntax to the `org-mime-file' and `org-mime-multipart' functions we should have full coverage of the big 3 Emacs mailers. Thanks -- Eric "Eric Schulte" writes: > Eric S Fraga writes: > > [...] > >> Thanks. I've pulled and it now works better, in that the HTML >> element is now not-nil. However, it's not quite right and other >> aspects are still not working. I'm attaching three files: the original >> org file I'm using to test the mime encoding, a small image used for >> the test, and the resulting message I receive when I've sent the >> result of mime exporting. >> >> There are definitely problems in encoding images, whether one >> explicitly linked to in the org file or one created for latex >> equations. Some (maybe all?) of the problems may be due to >> Wanderlust. I imagine you don't use WL so if there's any help I can >> provide in debugging this combination, please let me know! >> > > Yes, there absolutely is something you can do to help. > > I think you're right that my poor WL syntax is most likely the problem. > All of the WL specific syntax is in the `org-mime-file' and > `org-mime-multipart' functions. To start could you try replace the > 'semi portion of the case statement in `org-mime-multipart' with the > following (I'd paste the whole function but it'd break my outgoing gnus > email) the syntax here is updated based on a function from > http://www.emacswiki.org/emacs/WlFaq#toc10. > > ('semi (concat > "--" "<>-{\n" > "--" "[[text/plain]]\n" plain > "--" "[[text/html]]\n" html > "--" "}-<>\n")) > > That *should* fix the exportation of html portions w/o pictures, the WL > syntax in `org-mime-file' will need to be fixed for image attachments. > >> >> I do note that the text contents for the email created in the buffer >> do differ from what I get when I explicitly insert attachments. >> > > yes, hopefully once these are brought into line then org-mime will work > for WL as well as gnus. > > Thanks -- Eric ___ 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Eric S Fraga writes: [...] > Thanks. I've pulled and it now works better, in that the HTML > element is now not-nil. However, it's not quite right and other > aspects are still not working. I'm attaching three files: the original > org file I'm using to test the mime encoding, a small image used for > the test, and the resulting message I receive when I've sent the > result of mime exporting. > > There are definitely problems in encoding images, whether one > explicitly linked to in the org file or one created for latex > equations. Some (maybe all?) of the problems may be due to > Wanderlust. I imagine you don't use WL so if there's any help I can > provide in debugging this combination, please let me know! > Yes, there absolutely is something you can do to help. I think you're right that my poor WL syntax is most likely the problem. All of the WL specific syntax is in the `org-mime-file' and `org-mime-multipart' functions. To start could you try replace the 'semi portion of the case statement in `org-mime-multipart' with the following (I'd paste the whole function but it'd break my outgoing gnus email) the syntax here is updated based on a function from http://www.emacswiki.org/emacs/WlFaq#toc10. --8<---cut here---start->8--- ('semi (concat "--" "<>-{\n" "--" "[[text/plain]]\n" plain "--" "[[text/html]]\n" html "--" "}-<>\n")) --8<---cut here---end--->8--- That *should* fix the exportation of html portions w/o pictures, the WL syntax in `org-mime-file' will need to be fixed for image attachments. > > I do note that the text contents for the email created in the buffer > do differ from what I get when I explicitly insert attachments. > yes, hopefully once these are brought into line then org-mime will work for WL as well as gnus. Thanks -- Eric ___ 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
On Wed, 14 Apr 2010 09:12:59 -0600, "Eric Schulte" wrote: > > Hi Eric, > > Thanks for the explicit feedback, it's very helpful. You're very welcome! It's the least I can do. > > 6. try org-mime-org-buffer-htmlize again and now there is no error but > > the output is: > > > > I see the problem here, I've just pushed up a change to org-mime.el > which will ensure that your html mime alternative will no longer be > nil. Thanks. I've pulled and it now works better, in that the HTML element is now not-nil. However, it's not quite right and other aspects are still not working. I'm attaching three files: the original org file I'm using to test the mime encoding, a small image used for the test, and the resulting message I receive when I've sent the result of mime exporting. There are definitely problems in encoding images, whether one explicitly linked to in the org file or one created for latex equations. Some (maybe all?) of the problems may be due to Wanderlust. I imagine you don't use WL so if there's any help I can provide in debugging this combination, please let me know! I do note that the text contents for the email created in the buffer do differ from what I get when I explicitly insert attachments. > However, you will continue to have "t" as your text alternative until > you ensure that you are loading the latest version of the core of > org-mode, as described in my recent email to Andrew. I am most definitely *always* using the latest version! Currently, I have "Org-mode version 6.35g (release_6.35g.48.g3102)". Thanks, eric * Testing mime in org This file will provide a simple test for the new mime encoding and exporting features in org-mode. The most interesting aspect may be the use of \(\displaystyle y = \sum_i^n x_i^2\) and, please, see the figure: [[./mip.png]] <> 6128.eml Description: Binary data ___ 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Thanks! I finally got it to work. I actually did have the latest code, but my issue was that when I upgraded to the new org, I forgot to byte-compile before I did M-x org-reload. After I got your latest code, it all works now. I'm looking forward to using it! On Wed, Apr 14, 2010 at 10:59 AM, Eric Schulte wrote: > Hi Andrew, > > I started my emacs with the -Q option, and to my surprise I got the same > error that you have described. I've been able to hunt down the source > of this problem, and it is an old version of org-export-as-org, which > means that you are not loading the latest version of the core org-mode, > but rather the version distributed with Emacs. > > This is what happened to me when I started with the -Q option and simple > required org-install without first adding the path to the newer version > of org-mode to my load path. > > An easy way to verify that this is the case is to call describe-function > with C-h f org-export-as-org, then jump to the source-code of the > function by pressing enter on the linked function name, and jumping down > to the last 5 lines of the function definition. If they don't look like > > > (if (equal to-buffer 'string) > (progn (setq str-ret (buffer-string)) > (kill-buffer (current-buffer)) > str-ret) > (kill-buffer (current-buffer))) > > > > then you are still using an old version of Org-mode. Hopefully once you > are sync'd to the head of the org-mode repository this error will be > fixed. > > Hope this helps, Best -- Eric > > Andrew Hyatt writes: > > > I do get the same result you do. Hopefully, I'll have some time tomorrow > to > > look into the issue. RIght now, though, my problem is not the nil, but > the > > error I reported in my previous email. > > > > On Tue, Apr 13, 2010 at 8:57 PM, Eric Schulte >wrote: > > > >> So, for some reason the `org-mime-org-export' helper function is > >> returning nil on your (and Eric's) machines. Could you try evaluating > >> (C-M-x) the following in your *scratch* buffer? > >> > >> (insert (org-mime-org-export "html" "- first > >> - second > >> - third" (make-temp-file "quick-test"))) > >> > >> When I execute the above it inserts the following into the scratch > >> buffer > >> > >> > >> > >> first > >> > >> > >> second > >> > >> > >> third > >> > >> > >> > >> If instead you get an error, or it inserts nil, then it means that our > >> systems are somehow different with respect to that function, which is a > >> slight alteration of `org-run-like-in-org-mode'. > >> > >> At that point you could try using something like > >> > >> (org-run-like-in-org-mode 'org-export-as-html) > >> > >> to export a non-html buffer to html, or you could also try starting up > >> Emacs with the -Q option, then loading org-mime.el, opening an org-mode > >> file, and calling org-mime-org-buffer-htmlize, and sending an email to > >> yourself. > >> > >> Sorry I can't be of more help, I'm really mystified as to how this > >> function could be returning nil. > >> > >> Best -- Eric > >> > >> Andrew Hyatt writes: > >> > >> > Thanks for the response. I upgraded, now I get a > >> > > >> > Debugger entered--Lisp error: (wrong-type-argument arrayp t) > >> > substring(t 33) > >> > (progn (insert org-mime-default-header) (insert body) (write-file > >> tmp-file) > >> > (org-load-modules-maybe) (unless org-local-vars (setq org-local-vars > >> ...)) > >> > (substring (eval ...) (if ... ... 0))) > >> > (unwind-protect (progn (insert org-mime-default-header) (insert body) > >> > (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars > >> ...) > >> > (substring ... ...)) (and (buffer-name temp-buffer) (kill-buffer > >> > temp-buffer))) > >> > (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn > ... > >> > ... ... ... ... ...) (and ... ...))) > >> > (with-current-buffer temp-buffer (unwind-protect (progn ... ... ... > ... > >> ... > >> > ...) (and ... ...))) > >> > (let ((temp-buffer ...)) (with-current-buffer temp-buffer > >> (unwind-protect > >> > ... ...))) > >> > (with-temp-buffer (insert org-mime-default-header) (insert body) > >> > (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars > >> (setq > >> > org-local-vars ...)) (substring (eval ...) (if ... ... 0))) > >> > (save-excursion (with-temp-buffer (insert org-mime-default-header) > >> (insert > >> > body) (write-file tmp-file) (org-load-modules-maybe) (unless > >> org-local-vars > >> > ...) (substring ... ...))) > >> > org-mime-org-export("org" #("\nHTML test\n\n~foo~\n=bar=\n_baz_\n\n| > 1 | > >> 2 > >> > |\n| a | b |\n" 0 1 (fontified t) 1 11 (fontified t) 11 12 (fontified > t) > >> 12 > >> > 18 (fontified t) 18 24 (fontified t) 24 30 (fontified t) 30 31 > (fontified > >> t) > >> > 31 40 (fontified t face (gnus-cite-1 message-cited-text)) 40 41 > >> (fontified > >> > t) 41 50 (fontified t face (gnus-cite-1 message-cited-text)) 50 51 > >> > (fontified t)) "/tmp/mail2522ZvL")
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Hi Eric, Thanks for the explicit feedback, it's very helpful. Eric S Fraga writes: [...] > Interesting. This fails for me: > > 1. emacs -Q > 2. in *scratch*: set load path appropriately, (require 'org-install), > (require 'org-mime) > 3. visit org test buffer > 4. invoke org-mime-org-buffer-htmlize which fails with > >org-mime-file: Symbol's function definition is void: case > >although the HTML has been created and pushed to the kill ring >according to the *Messages* buffer. > > 5. so try (require 'cl) Ah, thanks, I've added (require 'cl) to org-mime.el > > 6. try org-mime-org-buffer-htmlize again and now there is no error but > the output is: > I see the problem here, I've just pushed up a change to org-mime.el which will ensure that your html mime alternative will no longer be nil. However, you will continue to have "t" as your text alternative until you ensure that you are loading the latest version of the core of org-mode, as described in my recent email to Andrew. Please let me know how this goes. Best -- Eric > >, >|<#multipart type=alternative><#part type=text/plain> >| * Testing mime in org >| >| This file will provide a simple test for the new mime encoding and >| exporting features in org-mode. >| >| The most interesting aspect may be the use of \(y = \sum_i^n x_i^2\) >| and, please, see the figure: >| >| [[./mip.png]] >| <#part type=text/html>nil<#/multipart> >| <#part type="image/png" filename="/home/ucecesf/s/test/mip.png" > id="<_home_ucecesf_s_test_mip.png>"> >| <#/part> >` > > I hope some of this might help identify where the problem may lie? I > can obviously send you my full org environment if you wish. I'm also > happy to debug the org-mime code directly if you give me some idea of > where to look! > > Thanks, > eric ___ 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Hi Andrew, I started my emacs with the -Q option, and to my surprise I got the same error that you have described. I've been able to hunt down the source of this problem, and it is an old version of org-export-as-org, which means that you are not loading the latest version of the core org-mode, but rather the version distributed with Emacs. This is what happened to me when I started with the -Q option and simple required org-install without first adding the path to the newer version of org-mode to my load path. An easy way to verify that this is the case is to call describe-function with C-h f org-export-as-org, then jump to the source-code of the function by pressing enter on the linked function name, and jumping down to the last 5 lines of the function definition. If they don't look like #+begin_src emacs-lisp (if (equal to-buffer 'string) (progn (setq str-ret (buffer-string)) (kill-buffer (current-buffer)) str-ret) (kill-buffer (current-buffer))) #+end_src then you are still using an old version of Org-mode. Hopefully once you are sync'd to the head of the org-mode repository this error will be fixed. Hope this helps, Best -- Eric Andrew Hyatt writes: > I do get the same result you do. Hopefully, I'll have some time tomorrow to > look into the issue. RIght now, though, my problem is not the nil, but the > error I reported in my previous email. > > On Tue, Apr 13, 2010 at 8:57 PM, Eric Schulte wrote: > >> So, for some reason the `org-mime-org-export' helper function is >> returning nil on your (and Eric's) machines. Could you try evaluating >> (C-M-x) the following in your *scratch* buffer? >> >> (insert (org-mime-org-export "html" "- first >> - second >> - third" (make-temp-file "quick-test"))) >> >> When I execute the above it inserts the following into the scratch >> buffer >> >> >> >> first >> >> >> second >> >> >> third >> >> >> >> If instead you get an error, or it inserts nil, then it means that our >> systems are somehow different with respect to that function, which is a >> slight alteration of `org-run-like-in-org-mode'. >> >> At that point you could try using something like >> >> (org-run-like-in-org-mode 'org-export-as-html) >> >> to export a non-html buffer to html, or you could also try starting up >> Emacs with the -Q option, then loading org-mime.el, opening an org-mode >> file, and calling org-mime-org-buffer-htmlize, and sending an email to >> yourself. >> >> Sorry I can't be of more help, I'm really mystified as to how this >> function could be returning nil. >> >> Best -- Eric >> >> Andrew Hyatt writes: >> >> > Thanks for the response. I upgraded, now I get a >> > >> > Debugger entered--Lisp error: (wrong-type-argument arrayp t) >> > substring(t 33) >> > (progn (insert org-mime-default-header) (insert body) (write-file >> tmp-file) >> > (org-load-modules-maybe) (unless org-local-vars (setq org-local-vars >> ...)) >> > (substring (eval ...) (if ... ... 0))) >> > (unwind-protect (progn (insert org-mime-default-header) (insert body) >> > (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars >> ...) >> > (substring ... ...)) (and (buffer-name temp-buffer) (kill-buffer >> > temp-buffer))) >> > (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... >> > ... ... ... ... ...) (and ... ...))) >> > (with-current-buffer temp-buffer (unwind-protect (progn ... ... ... ... >> ... >> > ...) (and ... ...))) >> > (let ((temp-buffer ...)) (with-current-buffer temp-buffer >> (unwind-protect >> > ... ...))) >> > (with-temp-buffer (insert org-mime-default-header) (insert body) >> > (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars >> (setq >> > org-local-vars ...)) (substring (eval ...) (if ... ... 0))) >> > (save-excursion (with-temp-buffer (insert org-mime-default-header) >> (insert >> > body) (write-file tmp-file) (org-load-modules-maybe) (unless >> org-local-vars >> > ...) (substring ... ...))) >> > org-mime-org-export("org" #("\nHTML test\n\n~foo~\n=bar=\n_baz_\n\n| 1 | >> 2 >> > |\n| a | b |\n" 0 1 (fontified t) 1 11 (fontified t) 11 12 (fontified t) >> 12 >> > 18 (fontified t) 18 24 (fontified t) 24 30 (fontified t) 30 31 (fontified >> t) >> > 31 40 (fontified t face (gnus-cite-1 message-cited-text)) 40 41 >> (fontified >> > t) 41 50 (fontified t face (gnus-cite-1 message-cited-text)) 50 51 >> > (fontified t)) "/tmp/mail2522ZvL") >> > (let* ((region-p ...) (html-start ...) (html-end ...) (raw-body ...) >> > (tmp-file ...) (body ...) (org-export-skip-text-before-1st-heading nil) >> > (org-export-htmlize-output-type ...) (org-export-preserve-breaks >> > org-mime-preserve-breaks) (html-and-images ...) (html-images ...) (html >> > ...)) (delete-region html-start html-end) (save-excursion (goto-char >> > html-start) (insert ... ...))) >> > org-mime-htmlize(nil) >> > call-interactively(org-mime-htmlize record nil) >> > >> > I tried this with orgstruct-mo
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
On Tue, 13 Apr 2010 18:57:07 -0600, "Eric Schulte" wrote: > > So, for some reason the `org-mime-org-export' helper function is > returning nil on your (and Eric's) machines. Could you try evaluating > (C-M-x) the following in your *scratch* buffer? > > (insert (org-mime-org-export "html" "- first > - second > - third" (make-temp-file "quick-test"))) I get exactly the same as you do. > to export a non-html buffer to html, or you could also try starting up > Emacs with the -Q option, then loading org-mime.el, opening an org-mode > file, and calling org-mime-org-buffer-htmlize, and sending an email to > yourself. Interesting. This fails for me: 1. emacs -Q 2. in *scratch*: set load path appropriately, (require 'org-install), (require 'org-mime) 3. visit org test buffer 4. invoke org-mime-org-buffer-htmlize which fails with org-mime-file: Symbol's function definition is void: case although the HTML has been created and pushed to the kill ring according to the *Messages* buffer. 5. so try (require 'cl) 6. try org-mime-org-buffer-htmlize again and now there is no error but the output is: , |<#multipart type=alternative><#part type=text/plain> | * Testing mime in org | | This file will provide a simple test for the new mime encoding and | exporting features in org-mode. | | The most interesting aspect may be the use of \(y = \sum_i^n x_i^2\) | and, please, see the figure: | | [[./mip.png]] | <#part type=text/html>nil<#/multipart> | <#part type="image/png" filename="/home/ucecesf/s/test/mip.png" id="<_home_ucecesf_s_test_mip.png>"> | <#/part> ` I hope some of this might help identify where the problem may lie? I can obviously send you my full org environment if you wish. I'm also happy to debug the org-mime code directly if you give me some idea of where to look! Thanks, eric ___ 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
I do get the same result you do. Hopefully, I'll have some time tomorrow to look into the issue. RIght now, though, my problem is not the nil, but the error I reported in my previous email. On Tue, Apr 13, 2010 at 8:57 PM, Eric Schulte wrote: > So, for some reason the `org-mime-org-export' helper function is > returning nil on your (and Eric's) machines. Could you try evaluating > (C-M-x) the following in your *scratch* buffer? > > (insert (org-mime-org-export "html" "- first > - second > - third" (make-temp-file "quick-test"))) > > When I execute the above it inserts the following into the scratch > buffer > > > > first > > > second > > > third > > > > If instead you get an error, or it inserts nil, then it means that our > systems are somehow different with respect to that function, which is a > slight alteration of `org-run-like-in-org-mode'. > > At that point you could try using something like > > (org-run-like-in-org-mode 'org-export-as-html) > > to export a non-html buffer to html, or you could also try starting up > Emacs with the -Q option, then loading org-mime.el, opening an org-mode > file, and calling org-mime-org-buffer-htmlize, and sending an email to > yourself. > > Sorry I can't be of more help, I'm really mystified as to how this > function could be returning nil. > > Best -- Eric > > Andrew Hyatt writes: > > > Thanks for the response. I upgraded, now I get a > > > > Debugger entered--Lisp error: (wrong-type-argument arrayp t) > > substring(t 33) > > (progn (insert org-mime-default-header) (insert body) (write-file > tmp-file) > > (org-load-modules-maybe) (unless org-local-vars (setq org-local-vars > ...)) > > (substring (eval ...) (if ... ... 0))) > > (unwind-protect (progn (insert org-mime-default-header) (insert body) > > (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars > ...) > > (substring ... ...)) (and (buffer-name temp-buffer) (kill-buffer > > temp-buffer))) > > (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... > > ... ... ... ... ...) (and ... ...))) > > (with-current-buffer temp-buffer (unwind-protect (progn ... ... ... ... > ... > > ...) (and ... ...))) > > (let ((temp-buffer ...)) (with-current-buffer temp-buffer > (unwind-protect > > ... ...))) > > (with-temp-buffer (insert org-mime-default-header) (insert body) > > (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars > (setq > > org-local-vars ...)) (substring (eval ...) (if ... ... 0))) > > (save-excursion (with-temp-buffer (insert org-mime-default-header) > (insert > > body) (write-file tmp-file) (org-load-modules-maybe) (unless > org-local-vars > > ...) (substring ... ...))) > > org-mime-org-export("org" #("\nHTML test\n\n~foo~\n=bar=\n_baz_\n\n| 1 | > 2 > > |\n| a | b |\n" 0 1 (fontified t) 1 11 (fontified t) 11 12 (fontified t) > 12 > > 18 (fontified t) 18 24 (fontified t) 24 30 (fontified t) 30 31 (fontified > t) > > 31 40 (fontified t face (gnus-cite-1 message-cited-text)) 40 41 > (fontified > > t) 41 50 (fontified t face (gnus-cite-1 message-cited-text)) 50 51 > > (fontified t)) "/tmp/mail2522ZvL") > > (let* ((region-p ...) (html-start ...) (html-end ...) (raw-body ...) > > (tmp-file ...) (body ...) (org-export-skip-text-before-1st-heading nil) > > (org-export-htmlize-output-type ...) (org-export-preserve-breaks > > org-mime-preserve-breaks) (html-and-images ...) (html-images ...) (html > > ...)) (delete-region html-start html-end) (save-excursion (goto-char > > html-start) (insert ... ...))) > > org-mime-htmlize(nil) > > call-interactively(org-mime-htmlize record nil) > > > > I tried this with orgstruct-mode off and on, but it was the same error > > either way. Earlier, before I got the latest version, I tried with > > orgstruct-mode on, and it successfull htmlized my mail. But, when I > received > > it, the mail only contained the word "nil". > > > > On Mon, Apr 12, 2010 at 1:22 PM, Eric Schulte >wrote: > > > >> Hi Andrew, > >> > >> Thanks for the report. My guess is that somehow the call to > >> org-export-as-html is erroring out because some org-mode variables > >> aren't being set, maybe you don't have orgstruct-mode as a minor-mode in > >> your email composition -- not that it's required, but that could be the > >> difference between our setups which is causing you to see the bug and > >> not me. > >> > >> I've changed the `org-mime-org-export' so it more closely mimics the > >> `org-run-like-in-org-mode' wrapping function, which should hopefully fix > >> this problem. Please let me know either way, and if the problem > >> persists we can try to figure out exactly which variable isn't being > >> initialized. > >> > >> Thanks for the report! -- Eric > >> > >> Andrew Hyatt writes: > >> > >> > This looks great. However, I get an error on my test mail: > >> > > >> > This is should be HTML mode. > >> > > >> > ~foo~ > >> > =bar= > >> > _baz_ > >> > > >> > | Table | A | > >> > | 1 | 2 | > >> > > >> > On calling org-mime-ht
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Hi Eric, It looks like you're having the same issue as Andrew. Could you try the suggestions I put in the email to him and let me know the results? Thanks -- Eric Eric S Fraga writes: > Eric, > > I have been away a couple of weeks where I have avoided using email as > much as possible. I have therefore come back to find this whole > incredible thread that has led to org-mime. Very exciting! Although > I'm not a big fan of html email in general, an easy to use mime > interface which allows me to embed equations easily is very welcome. > > However, it doesn't appear to work very well for me, with org-mode > from git as of a couple of hours ago: > > - GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.18.2) of > 2009-11-02 on raven, modified by Debian > > - Org-mode version 6.35g (release_6.35g.41.g9cfe) > > - Wanderlust/2.15.9 (Almost Unreal) > > What I get when I try your example, by copying your original org text > into my email buffer and invoking org-mime-htmlize, is: > > , > | | | ___ 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
So, for some reason the `org-mime-org-export' helper function is returning nil on your (and Eric's) machines. Could you try evaluating (C-M-x) the following in your *scratch* buffer? (insert (org-mime-org-export "html" "- first - second - third" (make-temp-file "quick-test"))) When I execute the above it inserts the following into the scratch buffer first second third If instead you get an error, or it inserts nil, then it means that our systems are somehow different with respect to that function, which is a slight alteration of `org-run-like-in-org-mode'. At that point you could try using something like (org-run-like-in-org-mode 'org-export-as-html) to export a non-html buffer to html, or you could also try starting up Emacs with the -Q option, then loading org-mime.el, opening an org-mode file, and calling org-mime-org-buffer-htmlize, and sending an email to yourself. Sorry I can't be of more help, I'm really mystified as to how this function could be returning nil. Best -- Eric Andrew Hyatt writes: > Thanks for the response. I upgraded, now I get a > > Debugger entered--Lisp error: (wrong-type-argument arrayp t) > substring(t 33) > (progn (insert org-mime-default-header) (insert body) (write-file tmp-file) > (org-load-modules-maybe) (unless org-local-vars (setq org-local-vars ...)) > (substring (eval ...) (if ... ... 0))) > (unwind-protect (progn (insert org-mime-default-header) (insert body) > (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars ...) > (substring ... ...)) (and (buffer-name temp-buffer) (kill-buffer > temp-buffer))) > (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... > ... ... ... ... ...) (and ... ...))) > (with-current-buffer temp-buffer (unwind-protect (progn ... ... ... ... ... > ...) (and ... ...))) > (let ((temp-buffer ...)) (with-current-buffer temp-buffer (unwind-protect > ... ...))) > (with-temp-buffer (insert org-mime-default-header) (insert body) > (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars (setq > org-local-vars ...)) (substring (eval ...) (if ... ... 0))) > (save-excursion (with-temp-buffer (insert org-mime-default-header) (insert > body) (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars > ...) (substring ... ...))) > org-mime-org-export("org" #("\nHTML test\n\n~foo~\n=bar=\n_baz_\n\n| 1 | 2 > |\n| a | b |\n" 0 1 (fontified t) 1 11 (fontified t) 11 12 (fontified t) 12 > 18 (fontified t) 18 24 (fontified t) 24 30 (fontified t) 30 31 (fontified t) > 31 40 (fontified t face (gnus-cite-1 message-cited-text)) 40 41 (fontified > t) 41 50 (fontified t face (gnus-cite-1 message-cited-text)) 50 51 > (fontified t)) "/tmp/mail2522ZvL") > (let* ((region-p ...) (html-start ...) (html-end ...) (raw-body ...) > (tmp-file ...) (body ...) (org-export-skip-text-before-1st-heading nil) > (org-export-htmlize-output-type ...) (org-export-preserve-breaks > org-mime-preserve-breaks) (html-and-images ...) (html-images ...) (html > ...)) (delete-region html-start html-end) (save-excursion (goto-char > html-start) (insert ... ...))) > org-mime-htmlize(nil) > call-interactively(org-mime-htmlize record nil) > > I tried this with orgstruct-mode off and on, but it was the same error > either way. Earlier, before I got the latest version, I tried with > orgstruct-mode on, and it successfull htmlized my mail. But, when I received > it, the mail only contained the word "nil". > > On Mon, Apr 12, 2010 at 1:22 PM, Eric Schulte wrote: > >> Hi Andrew, >> >> Thanks for the report. My guess is that somehow the call to >> org-export-as-html is erroring out because some org-mode variables >> aren't being set, maybe you don't have orgstruct-mode as a minor-mode in >> your email composition -- not that it's required, but that could be the >> difference between our setups which is causing you to see the bug and >> not me. >> >> I've changed the `org-mime-org-export' so it more closely mimics the >> `org-run-like-in-org-mode' wrapping function, which should hopefully fix >> this problem. Please let me know either way, and if the problem >> persists we can try to figure out exactly which variable isn't being >> initialized. >> >> Thanks for the report! -- Eric >> >> Andrew Hyatt writes: >> >> > This looks great. However, I get an error on my test mail: >> > >> > This is should be HTML mode. >> > >> > ~foo~ >> > =bar= >> > _baz_ >> > >> > | Table | A | >> > | 1 | 2 | >> > >> > On calling org-mime-htmlize >> > >> > Debugger entered--Lisp error: (wrong-type-argument stringp nil) >> > string-match(nil #("This is should be HTML mode." 0 28 (fontified t))) >> > byte-code("\304\211. \305\n \"\203A >> > org-html-handle-time-stamps(#("This is should be HTML mode." 0 28 >> > (fontified t))) >> > byte-code(" \203. >> > org-export-as-html(nil nil nil string t) >> > (let nil (org-export-as-html nil nil nil (quote string) t)) >> > eval((let nil (org-export-as-html nil nil nil (quote string)
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Eric, I have been away a couple of weeks where I have avoided using email as much as possible. I have therefore come back to find this whole incredible thread that has led to org-mime. Very exciting! Although I'm not a big fan of html email in general, an easy to use mime interface which allows me to embed equations easily is very welcome. However, it doesn't appear to work very well for me, with org-mode from git as of a couple of hours ago: - GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.18.2) of 2009-11-02 on raven, modified by Debian - Org-mode version 6.35g (release_6.35g.41.g9cfe) - Wanderlust/2.15.9 (Almost Unreal) What I get when I try your example, by copying your original org text into my email buffer and invoking org-mime-htmlize, is: , | | - *tables* | | colname one | colname two | | |-+-| | | 1 | 1 | | | 2 | 4 | | | 3 | 9 | | | - *inline images* including latex equations $f(n) = n + \frac{1}{n} | \int_{0}^{n}{d_x f(x) + f(n - x)}$ and the results of ditaa blocks, | etc... | | #+begin_src ditaa :file blue.png :cmdline -r | +-+ | | cBLU| | | | | |++ | ||cPNK| | ||| | +++ | #+end_src | | - *blockquotes* | #+begin_quote | HTML e-mail is the use of a subset of HTML (often ill-defined) to | provide formatting and semantic markup capabilities in e-mail that | are not available with plain text. -- wikipedia | #+end_quote | | - fontified *code blocks* (shown below) | | - and *HTML character* conversion, like \forall character c s.t. \exists | h \in /HTML characters/ and c \equiv h, org-html-export of c results | in h | | --; charset=US-ASCII | | binRkJ8AWzno7.bin Description: Binary data binCrMS27xDLX.bin Description: Binary data ___ 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Thanks for the response. I upgraded, now I get a Debugger entered--Lisp error: (wrong-type-argument arrayp t) substring(t 33) (progn (insert org-mime-default-header) (insert body) (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars (setq org-local-vars ...)) (substring (eval ...) (if ... ... 0))) (unwind-protect (progn (insert org-mime-default-header) (insert body) (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars ...) (substring ... ...)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ... ... ... ...) (and ... ...))) (with-current-buffer temp-buffer (unwind-protect (progn ... ... ... ... ... ...) (and ... ...))) (let ((temp-buffer ...)) (with-current-buffer temp-buffer (unwind-protect ... ...))) (with-temp-buffer (insert org-mime-default-header) (insert body) (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars (setq org-local-vars ...)) (substring (eval ...) (if ... ... 0))) (save-excursion (with-temp-buffer (insert org-mime-default-header) (insert body) (write-file tmp-file) (org-load-modules-maybe) (unless org-local-vars ...) (substring ... ...))) org-mime-org-export("org" #("\nHTML test\n\n~foo~\n=bar=\n_baz_\n\n| 1 | 2 |\n| a | b |\n" 0 1 (fontified t) 1 11 (fontified t) 11 12 (fontified t) 12 18 (fontified t) 18 24 (fontified t) 24 30 (fontified t) 30 31 (fontified t) 31 40 (fontified t face (gnus-cite-1 message-cited-text)) 40 41 (fontified t) 41 50 (fontified t face (gnus-cite-1 message-cited-text)) 50 51 (fontified t)) "/tmp/mail2522ZvL") (let* ((region-p ...) (html-start ...) (html-end ...) (raw-body ...) (tmp-file ...) (body ...) (org-export-skip-text-before-1st-heading nil) (org-export-htmlize-output-type ...) (org-export-preserve-breaks org-mime-preserve-breaks) (html-and-images ...) (html-images ...) (html ...)) (delete-region html-start html-end) (save-excursion (goto-char html-start) (insert ... ...))) org-mime-htmlize(nil) call-interactively(org-mime-htmlize record nil) I tried this with orgstruct-mode off and on, but it was the same error either way. Earlier, before I got the latest version, I tried with orgstruct-mode on, and it successfull htmlized my mail. But, when I received it, the mail only contained the word "nil". On Mon, Apr 12, 2010 at 1:22 PM, Eric Schulte wrote: > Hi Andrew, > > Thanks for the report. My guess is that somehow the call to > org-export-as-html is erroring out because some org-mode variables > aren't being set, maybe you don't have orgstruct-mode as a minor-mode in > your email composition -- not that it's required, but that could be the > difference between our setups which is causing you to see the bug and > not me. > > I've changed the `org-mime-org-export' so it more closely mimics the > `org-run-like-in-org-mode' wrapping function, which should hopefully fix > this problem. Please let me know either way, and if the problem > persists we can try to figure out exactly which variable isn't being > initialized. > > Thanks for the report! -- Eric > > Andrew Hyatt writes: > > > This looks great. However, I get an error on my test mail: > > > > This is should be HTML mode. > > > > ~foo~ > > =bar= > > _baz_ > > > > | Table | A | > > | 1 | 2 | > > > > On calling org-mime-htmlize > > > > Debugger entered--Lisp error: (wrong-type-argument stringp nil) > > string-match(nil #("This is should be HTML mode." 0 28 (fontified t))) > > byte-code("\304\211. \305\n \"\203A > > org-html-handle-time-stamps(#("This is should be HTML mode." 0 28 > > (fontified t))) > > byte-code(" \203. > > org-export-as-html(nil nil nil string t) > > (let nil (org-export-as-html nil nil nil (quote string) t)) > > eval((let nil (org-export-as-html nil nil nil (quote string) t))) > > (progn (insert org-mime-default-header) (insert body) (write-file > > tmp-file) (eval (list ... org-local-vars ...))) > > (unwind-protect (progn (insert org-mime-default-header) (insert body) > > (write-file tmp-file) (eval ...)) (and (buffer-name temp-buffer) > > (kill-buffer temp-buffer))) > > (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn > ... > > ... ... ...) (and ... ...))) > > (with-current-buffer temp-buffer (unwind-protect (progn ... ... ... > ...) > > (and ... ...))) > > (let ((temp-buffer ...)) (with-current-buffer temp-buffer > (unwind-protect > > ... ...))) > > (with-temp-buffer (insert org-mime-default-header) (insert body) > > (write-file tmp-file) (eval (list ... org-local-vars ...))) > > (save-excursion (with-temp-buffer (insert org-mime-default-header) > (insert > > body) (write-file tmp-file) (eval ...))) > > org-mime-org-export("html" #("\nThis is should be HTML > > mode.\n\n~foo~\n=bar=\n_baz_\n\n| Table | A |\n| 1 | 2 | \n\n-- \n" 0 > 1 > > (fontified t) 1 42 (fontified t) 42 43 (fontified t) 43 44 (article-type > > emphasis fontified t) 44 47 (fontified t) 47 48 (article-ty
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Hi Andrew, Thanks for the report. My guess is that somehow the call to org-export-as-html is erroring out because some org-mode variables aren't being set, maybe you don't have orgstruct-mode as a minor-mode in your email composition -- not that it's required, but that could be the difference between our setups which is causing you to see the bug and not me. I've changed the `org-mime-org-export' so it more closely mimics the `org-run-like-in-org-mode' wrapping function, which should hopefully fix this problem. Please let me know either way, and if the problem persists we can try to figure out exactly which variable isn't being initialized. Thanks for the report! -- Eric Andrew Hyatt writes: > This looks great. However, I get an error on my test mail: > > This is should be HTML mode. > > ~foo~ > =bar= > _baz_ > > | Table | A | > | 1 | 2 | > > On calling org-mime-htmlize > > Debugger entered--Lisp error: (wrong-type-argument stringp nil) > string-match(nil #("This is should be HTML mode." 0 28 (fontified t))) > byte-code("\304\211.\305\n\"\203A > org-html-handle-time-stamps(#("This is should be HTML mode." 0 28 > (fontified t))) > byte-code("\203. > org-export-as-html(nil nil nil string t) > (let nil (org-export-as-html nil nil nil (quote string) t)) > eval((let nil (org-export-as-html nil nil nil (quote string) t))) > (progn (insert org-mime-default-header) (insert body) (write-file > tmp-file) (eval (list ... org-local-vars ...))) > (unwind-protect (progn (insert org-mime-default-header) (insert body) > (write-file tmp-file) (eval ...)) (and (buffer-name temp-buffer) > (kill-buffer temp-buffer))) > (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... > ... ... ...) (and ... ...))) > (with-current-buffer temp-buffer (unwind-protect (progn ... ... ... ...) > (and ... ...))) > (let ((temp-buffer ...)) (with-current-buffer temp-buffer (unwind-protect > ... ...))) > (with-temp-buffer (insert org-mime-default-header) (insert body) > (write-file tmp-file) (eval (list ... org-local-vars ...))) > (save-excursion (with-temp-buffer (insert org-mime-default-header) (insert > body) (write-file tmp-file) (eval ...))) > org-mime-org-export("html" #("\nThis is should be HTML > mode.\n\n~foo~\n=bar=\n_baz_\n\n| Table | A |\n| 1 | 2 | \n\n-- \n" 0 1 > (fontified t) 1 42 (fontified t) 42 43 (fontified t) 43 44 (article-type > emphasis fontified t) 44 47 (fontified t) 47 48 (article-type emphasis > fontified t) 48 50 (fontified t) 50 63 (fontified t face (gnus-cite-1 > message-cited-text)) 63 64 (fontified t) 64 78 (fontified t face > (gnus-cite-1 message-cited-text)) 78 79 (fontified t rear-nonsticky t) 79 80 > (fontified t) 80 84 (fontified t)) "/tmp/mail2522NRw") > (org-mime-replace-images (org-mime-org-export "html" raw-body tmp-file) > tmp-file) > (let* ((region-p ...) (html-start ...) (html-end ...) (raw-body ...) > (tmp-file ...) (body ...) (org-export-skip-text-before-1st-heading nil) > (org-export-htmlize-output-type ...) (org-export-preserve-breaks > org-mime-preserve-breaks) (html-and-images ...) (html-images ...) (html > ...)) (delete-region html-start html-end) (save-excursion (goto-char > html-start) (insert ... ...))) > org-mime-htmlize(nil) > > > On Fri, Apr 9, 2010 at 12:41 PM, Eric Schulte wrote: > >> Announcing the addition of org-mime to the contrib directory of Org-mode >> >> this allows sending HTML email using org-mode including... >> >> >>- *tables* colname onecolname two 11 24 39 >>- *inline images* including latex equations [image: $f(n) = n + >>\frac{1}{n} \int_{0}^{n}{d_x f(x) + f(n - x)}$] and the results of >>ditaa blocks, etc… >> >> [image: blue.png] >> >>- *blockquotes* >> >>HTML e-mail is the use of a subset of HTML (often ill-defined) to >>provide formatting and semantic markup capabilities in e-mail that are not >>available with plain text. – wikipedia >> >> - fontified *code blocks* (shown below) >>- and *HTML character* conversion, like ∀ character c s.t. ∃ h ∈ *HTML >>characters* and c ≡ h, org-html-export of c results in h >> >> >> >> The original org-mode formatted plain text is included as a text/plain >> mime alternative to the generated html. >> >> Below find the org-mime export of the org-mime worg page which will be >> available at http://orgmode.org/worg/org-contrib/org-mime.php. >> >> Best -- Eric >> >> General >> >> org-mime can be used to send HTML email using Org-mode HTML export. >> >> This approximates a WYSiWYG HTML mail editor from within Emacs, and can be >> useful for sending tables, notified source code, and inline images in email. >> >> How to use it >> Setup >> >> org-mime exposes two functions >> `org-mime-htmlize' can be called from within a mail composition buffer to >> export either the entire buffer or just the active region to html, and embed >> the results into the buffer as a text/html mime section. >> >> org-mime-htmlize is an intera
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
This looks great. However, I get an error on my test mail: This is should be HTML mode. ~foo~ =bar= _baz_ | Table | A | | 1 | 2 | On calling org-mime-htmlize Debugger entered--Lisp error: (wrong-type-argument stringp nil) string-match(nil #("This is should be HTML mode." 0 28 (fontified t))) byte-code("\304\211\305\n\"\203A org-html-handle-time-stamps(#("This is should be HTML mode." 0 28 (fontified t))) byte-code("\203 org-export-as-html(nil nil nil string t) (let nil (org-export-as-html nil nil nil (quote string) t)) eval((let nil (org-export-as-html nil nil nil (quote string) t))) (progn (insert org-mime-default-header) (insert body) (write-file tmp-file) (eval (list ... org-local-vars ...))) (unwind-protect (progn (insert org-mime-default-header) (insert body) (write-file tmp-file) (eval ...)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ... ...) (and ... ...))) (with-current-buffer temp-buffer (unwind-protect (progn ... ... ... ...) (and ... ...))) (let ((temp-buffer ...)) (with-current-buffer temp-buffer (unwind-protect ... ...))) (with-temp-buffer (insert org-mime-default-header) (insert body) (write-file tmp-file) (eval (list ... org-local-vars ...))) (save-excursion (with-temp-buffer (insert org-mime-default-header) (insert body) (write-file tmp-file) (eval ...))) org-mime-org-export("html" #("\nThis is should be HTML mode.\n\n~foo~\n=bar=\n_baz_\n\n| Table | A |\n| 1 | 2 | \n\n-- \n" 0 1 (fontified t) 1 42 (fontified t) 42 43 (fontified t) 43 44 (article-type emphasis fontified t) 44 47 (fontified t) 47 48 (article-type emphasis fontified t) 48 50 (fontified t) 50 63 (fontified t face (gnus-cite-1 message-cited-text)) 63 64 (fontified t) 64 78 (fontified t face (gnus-cite-1 message-cited-text)) 78 79 (fontified t rear-nonsticky t) 79 80 (fontified t) 80 84 (fontified t)) "/tmp/mail2522NRw") (org-mime-replace-images (org-mime-org-export "html" raw-body tmp-file) tmp-file) (let* ((region-p ...) (html-start ...) (html-end ...) (raw-body ...) (tmp-file ...) (body ...) (org-export-skip-text-before-1st-heading nil) (org-export-htmlize-output-type ...) (org-export-preserve-breaks org-mime-preserve-breaks) (html-and-images ...) (html-images ...) (html ...)) (delete-region html-start html-end) (save-excursion (goto-char html-start) (insert ... ...))) org-mime-htmlize(nil) On Fri, Apr 9, 2010 at 12:41 PM, Eric Schulte wrote: > Announcing the addition of org-mime to the contrib directory of Org-mode > > this allows sending HTML email using org-mode including... > > >- *tables* colname onecolname two 11 24 39 >- *inline images* including latex equations [image: $f(n) = n + >\frac{1}{n} \int_{0}^{n}{d_x f(x) + f(n - x)}$] and the results of >ditaa blocks, etc… > > [image: blue.png] > >- *blockquotes* > >HTML e-mail is the use of a subset of HTML (often ill-defined) to >provide formatting and semantic markup capabilities in e-mail that are not >available with plain text. – wikipedia > > - fontified *code blocks* (shown below) >- and *HTML character* conversion, like ∀ character c s.t. ∃ h ∈ *HTML >characters* and c ≡ h, org-html-export of c results in h > > > > The original org-mode formatted plain text is included as a text/plain > mime alternative to the generated html. > > Below find the org-mime export of the org-mime worg page which will be > available at http://orgmode.org/worg/org-contrib/org-mime.php. > > Best -- Eric > > General > > org-mime can be used to send HTML email using Org-mode HTML export. > > This approximates a WYSiWYG HTML mail editor from within Emacs, and can be > useful for sending tables, notified source code, and inline images in email. > > How to use it > Setup > > org-mime exposes two functions > `org-mime-htmlize' can be called from within a mail composition buffer to > export either the entire buffer or just the active region to html, and embed > the results into the buffer as a text/html mime section. > > org-mime-htmlize is an interactive Lisp function in `org-mime.el'. > > (org-mime-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. > > `org-mime-org-buffer-htmlize' can be called from within an Org-mode > buffer to export either the whole buffer or the narrowed subtree or active > region to HTML, and open a new email buffer including the resulting HTML > content as an embedded mime section. > > org-mime-org-buffer-htmlize is an interactive Lisp function in > `org-mime.el'. > > (org-mime-org-buffer-htmlize) > > Export the current org-mode buffer to HTML using > `org-export-as-html' and package the results into an email > handling with appropriate MIME encoding. > > The following key bindings are suggested, which bind the C-c M-o key >
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
David Maus writes: > Matt Price wrote: > >>Just quickly -- so if I'm using wanderlust, will the resultant >>message still be properly formatted? > I think the question was if wanderlust mime encoding works correctly. I believe the answer here is yes, but I do not have a wanderlust install and can't personally verify. > [...] > @Erik: > >> Emacs is about giving users as much power and choice as possible, >> even if that amounts to given them enough rope to hang themselves. > > Then please at least /tell/ users of org-mime that they might break > their necks while just using org-mime to bundle message parts > together. > I'll put a warning up on the org-mime page on Worg. But again, personally I don't think this is a big deal. Best -- Eric > > -- David > > -- > OpenPGP... 0x99ADB83B5A4478E6 > Jabber dmj...@jabber.org > Email. dm...@ictsoc.de > ___ > 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Matt Price wrote: >Just quickly -- so if I'm using wanderlust, will the resultant >message still be properly formatted? This depends *entirely on recipients environment*. May be, may be not. Maybe the parts are displayed, maybe they are not: http://s1.directupload.net/images/user/100402/plz64u4a.png (second and fourth part NOT displayed) Parts of the mail will be rendered as plain text, others as html. Maybe different font sizes and shapes (plain text vs. html markup). Maybe the recipient cannot display images at all. Maybe recipient's mail program explodes: Heck, there weren't even tests to see how mailers other than Google webmail, GMX webmail (see above!), Gnus, Wanderlust, Thunderbird and Outlook Express 6 cope with these messages. Just consider this: Messaging might be WYSIWYG What *you* see is what *you* get But not WYSIWRG What *you* see is what *recipient* gets. When communication with others it's all about WRGIWYM What *recipient* gets is what *you* meant. @Erik: > Emacs is about giving users as much power and choice as possible, > even if that amounts to given them enough rope to hang themselves. Then please at least /tell/ users of org-mime that they might break their necks while just using org-mime to bundle message parts together. -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber dmj...@jabber.org Email. dm...@ictsoc.de pgpMyYSDtRCYm.pgp Description: PGP signature ___ 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Matt Price writes: > eric, this looks great -- Thanks > Just quickly -- so if I'm using wanderlust, will the resultant message still > be properly formatted? I remember there was some discussion about the > separation syntax in different mailers but don'tremember how it turned out. > thanks for this -- man, does it look good in html! > Wanderlust should be supported, however there is not yet any VM integration. It should be easy to adjust the `org-mime-file' and `org-mime-multipart' functions to add VM support. Best -- Eric > > matt > ___ > 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
eric, this looks great -- On Fri, Apr 9, 2010 at 12:41 PM, Eric Schulte wrote: > > Setup > > org-mime exposes two functions > `org-mime-htmlize' can be called from within a mail composition buffer to > export either the entire buffer or just the active region to html, and embed > the results into the buffer as a text/html mime section. > > org-mime-htmlize is an interactive Lisp function in `org-mime.el'. > > (org-mime-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. > > `org-mime-org-buffer-htmlize' can be called from within an Org-mode > buffer to export either the whole buffer or the narrowed subtree or active > region to HTML, and open a new email buffer including the resulting HTML > content as an embedded mime section. > > org-mime-org-buffer-htmlize is an interactive Lisp function in > `org-mime.el'. > > (org-mime-org-buffer-htmlize) > > Export the current org-mode buffer to HTML using > `org-export-as-html' and package the results into an email > handling with appropriate MIME encoding. > > The following key bindings are suggested, which bind the C-c M-o key > sequence to the appropriate org-mime function in both email and Org-mode > buffers. > > (add-hook 'message-mode-hook > (lambda () > (local-set-key "\C-c\M-o" 'org-mime-htmlize))) > (add-hook 'org-mode-hook > (lambda () > (local-set-key "\C-c\M-o" 'org-mime-org-buffer-htmlize))) > > Just quickly -- so if I'm using wanderlust, will the resultant message still be properly formatted? I remember there was some discussion about the separation syntax in different mailers but don'tremember how it turned out. thanks for this -- man, does it look good in html! matt ___ 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
Re: [Orgmode] [ANN] org-mime -- using orgmode to send html mail?
Announcing the addition of org-mime to the contrib directory of Org-mode this allows sending HTML email using org-mode including... #+TITLE: NONE #+OPTIONS: latex:t - *tables* | colname one | colname two | |-+-| | 1 | 1 | | 2 | 4 | | 3 | 9 | - *inline images* including latex equations $f(n) = n + \frac{1}{n} \int_{0}^{n}{d_x f(x) + f(n - x)}$ and the results of ditaa blocks, etc... #+begin_src ditaa :file blue.png :cmdline -r +-+ | cBLU| | | |++ ||cPNK| ||| +++ #+end_src - *blockquotes* #+begin_quote HTML e-mail is the use of a subset of HTML (often ill-defined) to provide formatting and semantic markup capabilities in e-mail that are not available with plain text. -- wikipedia #+end_quote - fontified *code blocks* (shown below) - and *HTML character* conversion, like \forall character c s.t. \exists h \in /HTML characters/ and c \equiv h, org-html-export of c results in h <><> The original org-mode formatted plain text is included as a text/plain mime alternative to the generated html. Below find the org-mime export of the org-mime worg page which will be available at http://orgmode.org/worg/org-contrib/org-mime.php. Best -- Eric #+TITLE: org-mime.el --- org html export for text/html MIME emails #+OPTIONS:H:3 num:nil toc:3 \n:nil @:t ::t |:t ^:t -:t f:t *:t TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc #+STARTUP:align fold nodlcheck hidestars oddeven lognotestate #+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@) #+TAGS: Write(w) Update(u) Fix(f) Check(c) #+AUTHOR: Eric Schulte #+EMAIL: schulte.eric at gmail dot com #+LANGUAGE: en #+PRIORITIES: A C B #+CATEGORY: worg * General =org-mime= can be used to send HTML email using Org-mode HTML export. This approximates a WYSiWYG HTML mail editor from within Emacs, and can be useful for sending tables, notified source code, and inline images in email. * How to use it ** Setup =org-mime= exposes two functions - `org-mime-htmlize' :: can be called from within a mail composition buffer to export either the entire buffer or just the active region to html, and embed the results into the buffer as a text/html mime section. : org-mime-htmlize is an interactive Lisp function in `org-mime.el'. : : (org-mime-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. - `org-mime-org-buffer-htmlize' :: can be called from within an Org-mode buffer to export either the whole buffer or the narrowed subtree or active region to HTML, and open a new email buffer including the resulting HTML content as an embedded mime section. : org-mime-org-buffer-htmlize is an interactive Lisp function in : `org-mime.el'. : : (org-mime-org-buffer-htmlize) : : Export the current org-mode buffer to HTML using : `org-export-as-html' and package the results into an email : handling with appropriate MIME encoding. The following key bindings are suggested, which bind the =C-c M-o= key sequence to the appropriate =org-mime= function in both email and Org-mode buffers. #+begin_src emacs-lisp (add-hook 'message-mode-hook (lambda () (local-set-key "\C-c\M-o" 'org-mime-htmlize))) (add-hook 'org-mode-hook (lambda () (local-set-key "\C-c\M-o" 'org-mime-org-buffer-htmlize))) #+end_src ** CSS style customization Email clients will often strip all global CSS from email messages. In the case of web-based email readers this is essential in order to protect the CSS of the containing web site. To ensure that your CSS styles are rendered correctly they must be included in the actual body of the elements to which they apply. The `org-mime-html-hook' allows for the insertion of these important CSS elements into the resulting HTML before mime encoding. The following are some possible uses of this hook. - for those who use color themes with Dark backgrounds it is useful to set a dark background for all exported code blocks and example regions. This can be accomplished with the following #+begin_src emacs-lisp (add-hook 'org-mime-html-hook (lambda () (org-mime-change-element-style "pre" (format "color: %s; background-color: %s; padding: 0.5em;" "#E6E1DC" "#232323" #+end_src - the following can be used to nicely offset block quotes in email bodies #+begin_src emacs-lisp (add-hook 'org-mime-html-hook (lambda () (org-mime-change-element-style "blockquote" "border-left: 2px solid gray; padding-left: 4px;"))) #