info-gnus-english
[Top][All Lists]
Advanced

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

Re: Gcc is ignored when sending mail from emacs lisp


From: Alexander Baier
Subject: Re: Gcc is ignored when sending mail from emacs lisp
Date: Mon, 13 May 2013 12:59:55 +0200

Hello W. Greenhouse,

thank you for your fast reply!

wgreenhouse-sGOZH3hwPm2sTnJN9+BGXg@public.gmane.org (W. Greenhouse)
writes:
> Hi Alexander,
>
> Alexander Baier <lexi.baier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
>
>> Hello,
>>
>> I want to sent mail from emacs lisp code, but the given Gcc-field is not
>> considered by the send function and thus no mail is put into my "Sent
>> Items" Group/Folder.  When I send a mail from within gnus, everything
>> works out fine.  This is the relevant code:
>>
>> Sending mail from outside gnus:
>> (defun org-tut-send-mail ()
>>   (message-mail "my.email-+LBmYUDmh58@public.gmane.org"
>>                 "[ELISP-TEST] Test"
>>                 '(("From" . "my.email-+LBmYUDmh58@public.gmane.org")
>>                   ("Gcc" . "nnimap+imap.server.com:\"Sent Items\"")))
>>   (insert "SOME TEXT")
>>   (message-send-and-exit))
>>
>> The above snippet sends the Email just fine, but nothing gets stored in
>> my Sent Items group.
>>
>> Can anybody give me some pointers on this?
>>
>> PS: If you need further information, name it and I will gladly provide
>> it.
>
> Is Gnus up and running during the evaluation of this function?  Although
> Message is a [sort of] free-standing library rather than just a part of
> Gnus, the capabilities of message-mode, especially with regard to the
> Gcc: header, depend on whether Gnus is active at the time of evaluation
> or not.
>
> When Gnus is down, message-mode can't do fancy things with sent mail,
> like uploading it to an IMAP folder as in your example.  I wouldn't be
> surprised if your sent mail from this function is ending up inside
> `message-directory', probably in the default monthly archive file,
> e.g. "~/Mail/archive/sent/2013-05".
>
They do not seem to end up in any local group on my disk.

> If you want your function to always honor Gcc: headers even if they
> point to something like an IMAP folder or other group that requires
> Gnus's capabilities to use, your function should check the return value
> of (gnus-alive-p) to see if Gnus is running, and possibly activate it
> before continuing.
I changed my code to something like this:
--8<---------------cut here---------------start------------->8---
(defun org-tut-send-mail ()
  (if (gnus-alive-p)
      (progn
        (message-mail "my.email@foo.com"
                      "[ELISP-TEST] Test"
                      '(("From" . "my.email@foo.com")
                        ("Gcc" . "nnimap+imap.server.com:\"Sent Items\"")))
        (insert "SOME TEXT")
        (message-send-and-exit))
    (message "Could not send mail, gnus is not alive.")))
--8<---------------cut here---------------end--------------->8---

(gnus-alive-p) returnes t, which is correct, as I have a running
instance of gnus.  The results however are the save as with no running
gnus, still no Mail in my Sent Items folder.

Is there any log that would provide useful information?


Regards,
Alex



reply via email to

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