postfix / expire/delete mails from queue

Florian Lohoff f at zz.de
Wed Mar 2 23:19:46 CET 2011


On Wed, Mar 02, 2011 at 09:54:18PM +0100, Frank Bergmann wrote:
> > ungesehen geloescht wird wenn die laenger als 60/90/120 sekunden liegt.
> 
> Dann waere es so, als haette der erste Versuch bereits statt gefunden.
> In diesem Fall gibt's natuerlich keinen Verweis auf Bash/mail/postsuper,
> sondern einen Verweis auf gcc/diff/patch. ;-)
> Venemas Quellcode ist gut lesbar (und patch-bar).
> Dann muss man nur die Stelle der (ersten) Auslieferung finden und eine
> "Fake-Auslieferung" daraus machen.
> Oder man macht den Ansatz ueber die maximum_queue_lifetime. Das andere ist
> aber vielleicht einfacher.

Das hier aber auch mal wieder nix ohne C geht ;) Den postfix code kenne ich
schon nen paar jahre - hab da mal am UUCP code rumgebastelt :)

So habe ich es jetzt geloest - Klappt super - Wenn die mail irgendwie in
die active queue geschoben wird d.h. delivery oder retry wird die wenn
die zu alt ist stumpf geloescht und nicht weiterbearbeitet.

Aber wie ueblich - Dont try this at home kids - Mails loeschen ist nen no go,
nach standard muesste nen DSN geschickt werden.

Mar  2 23:13:52 hydra postfix/qmgr[17767]: C8D3733061: status=fast-delete, age=159
Mar  2 23:13:52 hydra postfix/qmgr[17767]: 0082433066: status=fast-delete, age=159
Mar  2 23:13:52 hydra postfix/qmgr[17767]: E484733063: status=fast-delete, age=159
Mar  2 23:13:52 hydra postfix/qmgr[17767]: 76FB133058: status=fast-delete, age=158
Mar  2 23:13:52 hydra postfix/qmgr[17767]: A36543305E: status=fast-delete, age=159
Mar  2 23:13:52 hydra postfix/qmgr[17767]: 11DAB3303F: status=fast-delete, age=161
Mar  2 23:13:52 hydra postfix/qmgr[17767]: 48B2B33069: status=fast-delete, age=158
Mar  2 23:13:52 hydra postfix/qmgr[17767]: 81E6933045: status=fast-delete, age=161
Mar  2 23:13:52 hydra postfix/qmgr[17767]: DD9D533026: status=fast-delete, age=162
Mar  2 23:13:52 hydra postfix/qmgr[17767]: 4A3A833042: status=fast-delete, age=161
Mar  2 23:13:52 hydra postfix/qmgr[17767]: 7897833036: status=fast-delete, age=161
Mar  2 23:13:52 hydra postfix/qmgr[17767]: 35FD833008: status=fast-delete, age=163

Klappt soweit ;)

diff --git a/src/qmgr/qmgr_active.c b/src/qmgr/qmgr_active.c
index eeec88d..ed7e623 100644
--- a/src/qmgr/qmgr_active.c
+++ b/src/qmgr/qmgr_active.c
@@ -198,6 +198,19 @@ int     qmgr_active_feed(QMGR_SCAN *scan_info, const char *queue_id)
 	return (0);
     }
 
+    /* Delete old mails */
+    if ((scan_info->flags & QMGR_SCAN_ALL) == 0
+	&& st.st_mtime + var_max_queue_time < time((time_t *) 0)) {
+
+        mail_queue_remove(scan_info->queue, queue_id);
+
+	msg_info("%s: status=fast-delete, age=%d",
+		queue_id, (long) (event_time() - st.st_mtime));
+
+	return (0);
+    }
+
+
     /*
      * Move the message to the active queue. File access errors are fatal.
      */

-- 
Florian Lohoff                                                 f at zz.de
                 Professionell gesehen bin ich zu haben ....
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 828 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20110302/6fb82ba1/attachment.sig>


More information about the Linux mailing list