emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Re: Sending org buffer as mail?


From: Matt Lundin
Subject: [Orgmode] Re: Sending org buffer as mail?
Date: Thu, 16 Dec 2010 20:06:31 -0500
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux)

Rainer M Krug <address@hidden> writes:

> On 12/16/2010 09:25 AM, Jeff Horn wrote:
>> On Thu, Dec 16, 2010 at 3:17 AM, Oscar Carlsson
>> <address@hidden> 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:

--8<---------------cut here---------------start------------->8---
(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)))))
--8<---------------cut here---------------end--------------->8---

With this function, you can compose emails like this:

--8<---------------cut here---------------start------------->8---
* My obsequious missive
  :PROPERTIES:
  :MAIL_TO:  address@hidden
  :MAIL_BCC:  address@hidden
  :END:
My most noble sirs,

I thank you for gracing this world with your beauteous presence.

Humbly yours,
An Org-mode user
--8<---------------cut here---------------end--------------->8---

Best,
Matt



reply via email to

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