[Top][All Lists]

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

Re: make sent emails synced in imap sent folder

From: Eric Abrahamsen
Subject: Re: make sent emails synced in imap sent folder
Date: Thu, 10 Mar 2016 15:47:00 +0800
User-agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/25.1.50 (gnu/linux) writes:

> Eric Abrahamsen <> writes:
>> Fkqqrr <> writes:
>>> Eric Abrahamsen <> writes:
>>>> fkqqrr <> writes:
>>>>> When sending email in Gnus, 'sent' emails by default go into
>>>>> 'archive' folder locally.
>>>>> How to set sent emails to IMAP sent folder?
>>>> You can set the `gnus-message-archive-group' option to the desired
>>>> "Sent" folder. If you have more than one account you're trying to set
>>>> up, you can set that option to a function that takes one argument, a
>>>> group name, and returns the appropriate archive group. In my case:
>>>> (defun my-archiver-figure-outer (group)
>>>>   (cond ((string-match-p "nnimap\\+This-Account\\|gmane" group)
>>>>     "nnimap+This-Account:Sent")
>>>>    ((string-match-p "nnimap\\+That-Account" group)
>>>>     "nnimap+That-Account:Sent")))
> If all `cond' does not match, where will the `archive' message go?
> (for example, just write a new mail by `m' without enterning any
> group. Just stay on the start `Group' buffer)
> I know the default is `archive' on local disk. But this line:
>>>> (setq gnus-message-archive-group #'my-archiver-figure-outer)
> prevents un-matched sent items archived locally.
> Should I add a condition:
>    ((string-match-p ".*" group)
>     "nnimap+3rd-account:Sent")

The `cond' form usually takes a final "t" condition, which serves as a
catch-all for when nothing else matches. I didn't put one in there
because I couldn't be bothered. So:

(cond ((string-match-p "nnimap\\+NEA\\|gmane" group)
        ((string-match-p "nnimap\\+NPR" group)
        (t "archive"))

Or "nnimap+3rd-account:Sent", if you like.

reply via email to

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