I'm using gnus 5.13 on emacs 23. Somehow one of the IMAP servers
'forgets' the expiry marks. I set them, and a few hours later they are
unset, and the mail appears only as read.
If I mark an article expireable, and exit gnus and start it again, the
mark is still there. It takes a few hours befor it gets unset.
This only happens in one of the two IMAP accouts I use.
Any ideas on how to solve this?
Regards,
Mario.
> This only happens in one of the two IMAP accouts I use.
>
> Any ideas on how to solve this?
Probably not solvable. The manual
http://www.gnu.org/software/emacs/manual/html_node/gnus/Expiring-in-IMAP.html
says, "your server must support permanent storage of client specific
flags on messages". Have you checked if your IMAP server can do so?
Cheers,
Uday Reddy
Uday S Reddy <uDOTsD...@cs.bham.ac.uk> writes:
> Probably not solvable. The manual
>
> http://www.gnu.org/software/emacs/manual/html_node/gnus/Expiring-in-IMAP.html
>
> says, "your server must support permanent storage of client specific
> flags on messages". Have you checked if your IMAP server can do so?
I don't know how to find out. Do you? I can telnet the IMAP server, and
ask it CAPABILITIES, and it says
a001 CAPABILITY
* CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND
UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS STARTTLS
LOGINDISABLED
It seems to be a 'dovecot' server. There is also reason to asume that it
is a fairly recent version.
Wouldn't the lack of that capability show in gnus being unable to set
the mark in the first place?
Regards,
Mario.
> I don't know how to find out. Do you? I can telnet the IMAP server, and
> ask it CAPABILITIES, and it says
It appears that the permanent flags are set on a per-mailbox basis.
So, you have to select the mailbox to find out. The RFC3501 shows the
following example:
Example: C: A142 SELECT INBOX
S: * 172 EXISTS
S: * 1 RECENT
S: * OK [UNSEEN 12] Message 12 is first unseen
S: * OK [UIDVALIDITY 3857529045] UIDs valid
S: * OK [UIDNEXT 4392] Predicted next UID
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S: * OK [PERMANENTFLAGS (\Deleted \Seen \*)] Limited
S: A142 OK [READ-WRITE] SELECT completed
or use EXAMINE:
Example: C: A932 EXAMINE blurdybloop
S: * 17 EXISTS
S: * 2 RECENT
S: * OK [UNSEEN 8] Message 8 is first unseen
S: * OK [UIDVALIDITY 3857529045] UIDs valid
S: * OK [UIDNEXT 4392] Predicted next UID
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S: * OK [PERMANENTFLAGS ()] No permanent flags permitted
S: A932 OK [READ-ONLY] EXAMINE completed
> It seems to be a 'dovecot' server. There is also reason to asume that it
> is a fairly recent version.
dovecot server should be fine. But the administrators could still
prohibit things for reasons best known to themselves!
> Wouldn't the lack of that capability show in gnus being unable to set
> the mark in the first place?
Good question. I will defer that to people that knows gnus better
than I do.
Cheers,
Uday
Uday S Reddy <uDOTsD...@cs.bham.ac.uk> writes:
> Mario S. Mommer wrote:
>
>> I don't know how to find out. Do you? I can telnet the IMAP server, and
>> ask it CAPABILITIES, and it says
>
> It appears that the permanent flags are set on a per-mailbox
> basis. So, you have to select the mailbox to find out. The RFC3501
> shows the following example:
[...snip...]
>> It seems to be a 'dovecot' server. There is also reason to asume that it
>> is a fairly recent version.
>
> dovecot server should be fine. But the administrators could still
> prohibit things for reasons best known to themselves!
I see.
I turned on IMAP logging and I get this in the *imap-log* buffer
32 NOOP
32 OK NOOP completed.
33 SELECT "INBOX"
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft gnus-dormant
gnus-expire gnus-forward)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft
gnus-dormant gnus-expire gnus-forward \*)] Flags permitted.
* 67 EXISTS
* 0 RECENT
* OK [UNSEEN 52] First unseen.
and on it goes.
There's something weird going on.
Regards, and Thanks,
Mario.
> I'm using gnus 5.13 on emacs 23. Somehow one of the IMAP servers
> 'forgets' the expiry marks. I set them, and a few hours later they are
> unset, and the mail appears only as read.
[...]
> Any ideas on how to solve this?
Do you have the gnus agent active for that account?
It is broken for IMAP.
m_mo...@yahoo.com (Mario S. Mommer) writes:
> I'm using gnus 5.13 on emacs 23. Somehow one of the IMAP servers
> 'forgets' the expiry marks. I set them, and a few hours later they are
> unset, and the mail appears only as read.
>
> If I mark an article expireable, and exit gnus and start it again, the
> mark is still there. It takes a few hours befor it gets unset.
This only happens to the INBOX folder, all other folders keep their
marks just fine. Since on the server the INBOX folder is the only one
that is not stored somewhere in my home dir, I am guessing that there
are some subtle locking/permissions issues in dovecot.
A possible and very effective workarround is to have a default filter
rule that moves all email away from INBOX into another folder. Like
this:
(setq nnimap-split-inbox "INBOX"
nnimap-split-rule
'(("myaccount" ("INBOX" (("mailbox" ""))))))
Regards, and thanks,
Mario.
MSM> m_mo...@yahoo.com (Mario S. Mommer) writes:
>> I'm using gnus 5.13 on emacs 23. Somehow one of the IMAP servers
>> 'forgets' the expiry marks. I set them, and a few hours later they are
>> unset, and the mail appears only as read.
>>
>> If I mark an article expireable, and exit gnus and start it again, the
>> mark is still there. It takes a few hours befor it gets unset.
MSM> This only happens to the INBOX folder, all other folders keep their
MSM> marks just fine. Since on the server the INBOX folder is the only one
MSM> that is not stored somewhere in my home dir, I am guessing that there
MSM> are some subtle locking/permissions issues in dovecot.
MSM> A possible and very effective workarround is to have a default filter
MSM> rule that moves all email away from INBOX into another folder. Like
MSM> this:
MSM> (setq nnimap-split-inbox "INBOX"
MSM> nnimap-split-rule
MSM> '(("myaccount" ("INBOX" (("mailbox" ""))))))
Can you check if the same thing happens if you mark a message expirable
in the INBOX (you have to disable any Trash rules) with Thunderbird or
some other IMAP client, then come back later? In other words, if you
take Gnus out of the equation, does it still happen?
Ted
> Can you check if the same thing happens if you mark a message expirable
> in the INBOX (you have to disable any Trash rules) with Thunderbird or
> some other IMAP client, then come back later?
Do any other IMAP clients have the concept of "expirable"? I thought
most of them just moved the message to the Trash folder, which is either
emptied manually or automatically. But this doesn't involve any message
flags. In contrast, Gnus uses the imap flag "gnus-expire" to mark
messages as expirable.
Dan
DC> Ted Zlatanov <t...@lifelogs.com> writes:
>> Can you check if the same thing happens if you mark a message expirable
>> in the INBOX (you have to disable any Trash rules) with Thunderbird or
>> some other IMAP client, then come back later?
DC> Do any other IMAP clients have the concept of "expirable"? I thought
DC> most of them just moved the message to the Trash folder, which is either
DC> emptied manually or automatically. But this doesn't involve any message
DC> flags. In contrast, Gnus uses the imap flag "gnus-expire" to mark
DC> messages as expirable.
I was wrong, says nnimap.el:
(defconst nnimap-mark-to-flag-alist
(mapcar
(lambda (pair)
(or (assoc (cdr pair)
'((read . "\\Seen")
(tick . "\\Flagged")
(draft . "\\Draft")
(recent . "\\Recent")
(reply . "\\Answered")))
(cons (cdr pair)
(format "gnus-%s" (symbol-name (cdr pair))))))
(cons '(read . read) gnus-article-mark-lists)))
Sorry for the confusion.
Ted