On Jun 10, 2007, at 1:36, Patrick Drechsler wrote:
Carsten Dominik <[EMAIL PROTECTED]> writes:
Untested:
emacs -batch -l ~/.emacs -eval '(org-batch-agenda "a")' \
| mail [EMAIL PROTECTED]
With (setq org-agenda-include-diary t), the diary will
be part of the mailing automatically.
I am very sorry for the late reply.
Thank you Carsten for your script!
The problem I am having with your approach is that `mail' requires a
full blown MTA.
what is an MTA?
And since the diary script works fine with Emacs/Gnus
I was wondering if an approach along those lines might work, but to no
avail so far:
Here is the script I a trying to use:
--8<---------------cut here---------------start------------->8---
emacs \
--batch \
--load ~/.emacs.d/init.el \
--load ~/.emacs.d/.gnus \
--funcall org-mail
--8<---------------cut here---------------end--------------->8---
And I have tried this in my ~/.emacs (well, actually
~/.emacs.d/init.el, but that should not make a difference):
--8<---------------cut here---------------start------------->8---
;;; Test 1: this sends a message, but only replicates the header in the
;;; body. The actual body (the agenda) is not present.
;; (defun org-mail ()
;; "Send mail of agenda to myself."
;; (org-batch-agenda "a")
;; (compose-mail diary-mail-addr "agenda")
;; (insert (buffer-string))
;; (call-interactively (get mail-user-agent 'sendfunc)))
When you do `(insert (buffer-string))', then you are already in the
mail buffer, so indeed you are only duplocating the content of the
mail buffer. You need to do something like this:
(defun org-mail ()
"Send mail of agenda to myself."
(org-batch-agenda "a")
(let ((str (buffer-string)))
(compose-mail diary-mail-addr "agenda")
(insert str)
(call-interactively (get mail-user-agent 'sendfunc))))
In the following two approach you are assuming that
(org-batch-agenda "a") would *return* the agenda. It does
not. Instead yu are trying to indert the return value
of this function (don't even know what it would be...)
into the agenda buffer, which is indeed read-only
;;; Test 2
;;; ERROR:
;;; Buffer is read-only: #<buffer *Org Agenda*>
;; (defun org-mail ()
;; "Send mail of agenda to myself."
;; (compose-mail diary-mail-addr "agenda")
;; (insert (org-batch-agenda "a"))
;; (call-interactively (get mail-user-agent 'sendfunc)))
Below the same problem as before...
;;; Test 3:
;;; ERROR:
;;; Invalid header line (maybe a continuation line lacks initial
whitespace)
;; (defun org-mail ()
;; "Send mail of agenda to myself."
;; (compose-mail diary-mail-addr "agenda")
;; (insert (org-agenda-list "a"))
;; (call-interactively (get mail-user-agent 'sendfunc)))
--8<---------------cut here---------------end--------------->8---
Hope this helps.
- Carsten
_______________________________________________
Emacs-orgmode mailing list
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode