I'm attaching a new version of org-mime.el which incorporates Matt's
function below.  There are now two new functions, `org-mime-org-buffer'
and `org-mime-org-subtree' each of which takes a format argument
specifying the format of the final email, one of 'org, 'ascii, or 'html.

So, for example the following will export the current subtree as ascii
into an email body, using the MAIL_TO, MAIL_CC, and MAIL_BCC properties
to build the email headers, and the headline to set the subject (both
directly from Matt's function below).

(defun org-mime-subtree-to-ascii ()
  (interactive)
  (org-mime-org-subtree 'ascii))

Does this new version of org-mime look like it should be committed?  Are
there any features or changes that should be considered first?

Cheers -- Eric

Attachment: org-mime.el
Description: application/emacs-lisp

"Eric Schulte" <schulte.e...@gmail.com> writes:

> Hi Matt,
>
> This looks great, how would you feel about trying to fold this into
> org-mime, or would you mind if I did so.  I've already mimicked your
> function to set subjects of outgoing emails to match the title of the
> org-mode buffer.  I think that generalizing the org-mime functions to
> operate over either subtrees or whole files, and to output either html
> or plain text should cover all use cases with maximal code re-use.
>
> Thanks for sharing this function.
>
> Cheers -- Eric
>
> Matt Lundin <m...@imapmail.org> writes:
>
>> Rainer M Krug <r.m.k...@gmail.com> writes:
>>
>>> On 12/16/2010 09:25 AM, Jeff Horn wrote:
>>>> On Thu, Dec 16, 2010 at 3:17 AM, Oscar Carlsson
>>>> <oscar.carls...@gmail.com> wrote:
>>>>> And then, I can send a org-file by attaching it to a mail in Emacs. Try
>>>>> C-x m to start a new mail buffer, attach with C-c C-a and send with C-c
>>>>> C-c.
>>>
>>> Sounds very interesting - I'll try it out.
>>>
>>> C-x m looks great - I am sure I am going to use it a lot. And gmail is
>>> exactly what I want to use it for.
>>>
>>>> 
>>>> Does this attach the buffer or read it into the message? I thought the
>>>> OP wanted to read-in a buffer. 
>>>
>>> Yes - that was effectively what I am looking for: the possiblility to
>>> write my email in org mode and send the buffer content as the email text.
>>>
>>> Dream: Specify subject, to, cc, bcc (probably even attachments) as
>>> properties, press a key and the org file is send to the addresses.
>>
>> I too have been looking for this functionality for a while, so here's a
>> quick solution. When called on an Org-mode subtree, the following
>> function makes the headline the subject, exports the subtree to ascii,
>> and uses properties ("MAIL_TO", "MAIL_CC", "MAIL_BCC") to specify the
>> addressees:
>>
>> (defun my-org-subtree-to-message ()
>>   (interactive)
>>   (unless (eq major-mode 'org-mode)
>>     (error "Not in org buffer"))
>>   (let ((subject (nth 4 (org-heading-components)))
>>      (to (org-entry-get nil "MAIL_TO"))
>>      (cc (org-entry-get nil "MAIL_CC"))
>>      (bcc (org-entry-get nil "MAIL_BCC"))
>>      text)
>>     (save-excursion 
>>       (org-mark-subtree)
>>       ;; don't include title in body
>>       (forward-line)
>>       (setq text (org-export-region-as-ascii (point)
>>                                           (mark) t 'string)))
>>     (message-mail to subject `((cc . ,cc) (bcc . ,bcc)) nil)
>>     (when text 
>>       (save-excursion
>>      (goto-char (point-max))
>>      (insert text)))))
>>
>> With this function, you can compose emails like this:
>>
>> * My obsequious missive
>>   :PROPERTIES:
>>   :MAIL_TO:  highly_estee...@gentlemen.net
>>   :MAIL_BCC:  peasants_uni...@plebeians.org
>>   :END:
>> My most noble sirs,
>>
>> I thank you for gracing this world with your beauteous presence.
>>
>> Humbly yours,
>> An Org-mode user
>>
>> Best,
>> 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

Reply via email to