summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG4
-rw-r--r--program/steps/mail/show.inc10
2 files changed, 9 insertions, 5 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 8fbff19d8..442bade0c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,10 @@
CHANGELOG RoundCube Webmail
---------------------------
+2008/10/25 (alec)
+----------
+- Don't send disposition notification receipts for messages marked as 'read' (#1485523)
+
2008/10/24 (alec)
----------
- Added option 'identities_level', removed 'multiple_identities'
diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc
index 4f0a3b032..8b36c9acd 100644
--- a/program/steps/mail/show.inc
+++ b/program/steps/mail/show.inc
@@ -69,10 +69,6 @@ if ($_GET['_uid']) {
$OUTPUT->set_pagetitle($MESSAGE->subject);
- // mark message as read
- if (!$MESSAGE->headers->seen)
- $IMAP->set_flag($MESSAGE->uid, 'SEEN');
-
// give message uid to the client
$OUTPUT->set_env('uid', $MESSAGE->uid);
// set environement
@@ -87,7 +83,7 @@ if ($_GET['_uid']) {
// check for unset disposition notification
if ($MESSAGE->headers->mdn_to &&
- !$MESSAGE->headers->mdn_sent &&
+ !$MESSAGE->headers->mdn_sent && !$MESSAGE->headers->seen &&
$IMAP->check_permflag('MDNSENT') &&
$mbox_name != $CONFIG['drafts_mbox'] &&
$mbox_name != $CONFIG['sent_mbox'])
@@ -140,6 +136,10 @@ if ($_GET['_uid']) {
$OUTPUT->set_env('next_uid', $next);
if ($last >0)
$OUTPUT->set_env('last_uid', $last);
+
+ // mark message as read
+ if (!$MESSAGE->headers->seen)
+ $IMAP->set_flag($MESSAGE->uid, 'SEEN');
}