Sometimes I like to get an explicit acknowledgment that an email has been delivered and read. While this is possible with anti-patterns such as tracking-pixels or similar technologies there are other well-established ways of getting such information in a privacy preserving manner. Lets look at how.
Read receipts
Read receipts was first proposed in RFC 2298, updated by RFC 3798 and finally became an official internet standard in RFC 8098.
The header of interest to us is Disposition-Notification-To
. By setting the header
most clients will prompt the user if they want to send a read receipt back. For
example in thunderbird it looks like this:
In mutt the default shortcut to edit headers is E
, we can then add the header:
Disposition-Notification-To: John <john@example.com>
Delivery status notifications
The mechanism to request Delivery status notifications, also called DSN, was first proposed in RFC 1891 and later in RFC 3461. It works by adding an extension to SMTP which means it is not part of the email itself like in the case of read receipts. Instead it is configured by the client MTA (your SMTP client).
In my case I use msmtp(1) so I only need to specify
the --dsn-notify
flag. Per default this is disabled and which means the mail
system decides when to send notifications. In my case I would like to know as
much as possible so I specify --dsn-notify failure,delay,success
.
To configure msmtp(1)
correctly from mutt we can set sendmail
:
:set sendmail = '/usr/bin/msmtp --read-envelope-from --dsn-notify failure,delay,success'