Kris McNeil wrote:
Hello,
I'm working with a Cyrus IMAP4 server and am looking for a way to
configure the server to notify my email client when new mail arrives
(without the client having to poll the server). I have read about
Zephyr and the ability to receive 'new mail' notifications, but it
seems that Zephyr will only provide basic information about the new
message(s), i.e. the sender & recipient addresses and the subject. I'm
actually looking for a way for the server to send the IMAP4 message
UID as part of the notification so that the client can then easily
fetch the correct message without performing any searches.
Is there a mechanism in IMAP4, or Cyrus specifically, that is capable
of this, or perhaps any third party software that could do this for a
Cyrus server? The end goal is to simultaneously monitor thousands of
mailboxes for new email without burdening the server(s) any more than
is absolutely necessary - server-initiated notification is obviously
preferred over client-initiated polling.
You could use Sieve notifications for delivery. Unfortunately, the
current implementation doesn't include the UID of the message. Its been
a while since I looked at that part of the code so I can't say how
easy/difficult it would be to modify it.
Similarly, I'm also looking for a way to be notified of message flag
changes, such as when email has been read, unread or deleted. Do you
have any suggestions for this, aside from using IMAP4 to poll (or use
IDLE) for untagged responses?
There is no current way to do this without using IDLE or polling with
NOOP. You might want to keep your eye on the IETF LEMONADE WG which is
doing some work in this area.
--
Kenneth Murchison
Systems Programmer
Carnegie Mellon University
----
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html