[Dovecot] Can we know when a user read our email?

Brett @Google brett.maxfield at gmail.com
Sun Jun 3 05:15:59 EEST 2012

On Sat, Jun 2, 2012 at 8:02 PM, Reindl Harald <h.reindl at thelounge.net>wrote:

> Am 02.06.2012 11:53, schrieb Ed W:
> > On 14/05/2012 17:38, Timo Sirainen wrote:
> >> On Mon, 2012-05-14 at 08:56 -0700, Beto Moreno wrote:
> >>
> >>>   I have seen some emails servers that if I send a email to other
> >>> person I can see if that person have read our emails and with a option
> >>> to delete the email if the person hasn't read our email.
> >>>
> >>>   Does dovecot have some like this feature?
> >> This doesn't really work with IMAP/POP3 protocols. It requires Exchange
> >> or something else.
> >>
> >> What would be possible is to check if a user has _downloaded_ your
> >> message, but many clients download messages immediately when they arrive
> >> so it might not be very useful. And in any case Dovecot has no such
> >> feature.

As general thoughts..

This sounds more like a workgroup collaboration functionality. It assumes
that users in said workgroup all use the same outlook server (or they are
in an equivalent security domain or trust).

Outlook only lets you retract an email if the user is on the same outlook
server, and it has not been read/downloaded?. If the user is a different
email server or the mail has been read/downloaded?, the retract will always

So it would be no different in for dovecot. If the mail to be retracted was
on the local mailer spool then in theory it could be removed.. but it is
basically allowing a third party to delete things out of some other user's
mail spool, with the precondition that they sent the original email AND the
mail has not been read (downloaded) from the dovecot server. This would
mean that dovecot would need to somehow securely tag when an email is
authorized and delivered by dovecot, say from a the postfix lda, such that
it could later match up a subsequent request to retract said email, to the
user that sent it. Outlook is more like IMAP than POP, in that mail stays
on the server but is locally cached / downloaded.

Outlook can do this as it is both a mail sending agent and a mail receiving
agent, it unambiguously knows when a mail comes from an authenticated user,
and that it is a locally destined mail. Dovecot may or may not be
responsible for putting a mail from a user into the mail spool (in some
configurations postfix/sendmail can do this) so it cannot absolutely relate
who sent the email, to who wants to retract it.

So for this even to be possible, retractable messages would need be
present, and dovecot to unambiguously be able to relate an email received
by dovecot with it's original sender, which seems unlikely.

Even then there is a question of how you would provide the request for
deletion for dovecot to perform. This implies that there would be a new
command to POP/IMAP to trigger and authorize such a retraction also. Then
this new command would need to be standards-track so mail user agents would
know a server has such a feature to call it.

Sounds very difficult. I think outlook sends a specially crafted email, i
doubt it is standards track as it is all happening within the same
application in the case out outlook.


*The only thing that interferes with my learning is my education.*
Albert Einstein*

More information about the dovecot mailing list