aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1999-04-21 04:47:38 +0000
committerEric S. Raymond <esr@thyrsus.com>1999-04-21 04:47:38 +0000
commite9a6ace24bbfa377cf85973c791775a3543aa396 (patch)
treea745b5d3ad68e087e1989a16e90f87ca5c3924db
parent32dad94f997b8a42bd04a7476326c5c2b37cf639 (diff)
downloadfetchmail-e9a6ace24bbfa377cf85973c791775a3543aa396.tar.gz
fetchmail-e9a6ace24bbfa377cf85973c791775a3543aa396.tar.bz2
fetchmail-e9a6ace24bbfa377cf85973c791775a3543aa396.zip
Deleted -> Seen, Deleted.
svn path=/trunk/; revision=2444
-rw-r--r--NEWS6
-rw-r--r--imap.c9
2 files changed, 13 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 248afd3d..bb107e9e 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,12 @@
Release Notes:
fetchmail-5.0.1 (Sun Apr 18 14:59:56 EDT 1999):
+* The IMAP driver now sets SEEN just before deleting, in case the server
+ ships DSNs when that bit is set.
+
+There are 254 people on fetchmail-friends and 372 on fetchmail-announce.
+
+fetchmail-5.0.1 (Sun Apr 18 14:59:56 EDT 1999):
* Try to discover user/home via getpwuid(getuid()) before using LOGNAME/HOME.
* Mike Pearce's fix for buggy DEFAULT handling in .netrc.
* Keep validation errors from generating message lines that qmail will reject.
diff --git a/imap.c b/imap.c
index 09561ea5..1e33d7a2 100644
--- a/imap.c
+++ b/imap.c
@@ -972,11 +972,16 @@ static int imap_delete(int sock, struct query *ctl, int number)
/*
* Use SILENT if possible as a minor throughput optimization.
* Note: this has been dropped from IMAP4rev1.
+ *
+ * We set Seen because there are some IMAP servers that do
+ * message-receipt DSNs, but only when the seen bit is set.
+ * This is the appropriate time -- we get here right after
+ * the local SMTP response that says delivery was successful.
*/
if ((ok = gen_transact(sock,
imap_version == IMAP4
- ? "STORE %d +FLAGS.SILENT (\\Deleted)"
- : "STORE %d +FLAGS (\\Deleted)",
+ ? "STORE %d +FLAGS.SILENT (\\Seen \\Deleted)"
+ : "STORE %d +FLAGS (\\Seen \\Deleted)",
number)))
return(ok);
else