On Thu, Jul 02, 2015 at 12:45:10AM -0700, Seth wrote:
> I discovered I had thousands of message stuck in my queue from running some
> stress tests earlier which needed removal. Apparently the 'smtpctl remove
> <evpid>|<msgid>' command does not support wild cards.
>
> Instead, I changed to /var/spool/smtpd/queue and ran this command with root
> privs:
>
> # 'find . -type f -exec rm {} \;'
>
> That seemed to do the trick but was wondering if there's any way to
> accomplish the same via the smtpctl utility.
>
> --
> You received this mail because you are subscribed to [email protected]
> To unsubscribe, send a mail to: [email protected]
>
As far I can see, the smtpctl is capable of...
smtpctl remove all
smtpctl resume envelope all
smtpctl pause envelope all
just like...
smtpctl schedule all
but a cmd_install of the "all" variant is missing. This diff works
for me, could you try...
diff --git a/smtpd/smtpctl.8 b/smtpd/smtpctl.8
index fa7a661..9369234 100644
--- a/smtpd/smtpctl.8
+++ b/smtpd/smtpctl.8
@@ -99,6 +99,8 @@ Generated bounces.
.It Cm pause envelope Ar envelope-id | message-id
Temporarily suspend scheduling for the envelope with the given ID,
or all envelopes with the given message ID.
+.It Cm pause envelope all
+Temporarily suspend scheduling all the envelopes.
.It Cm pause mda
Temporarily stop deliveries to local users.
.It Cm pause mta
@@ -119,9 +121,13 @@ imsg, to profile cost of event handlers
.El
.It Cm remove Ar envelope-id | message-id
Remove a single envelope, or all envelopes with the same message ID.
+.It Cm remove all
+Remove all envelopes.
.It Cm resume envelope Ar envelope-id | message-id
Resume scheduling for the envelope with the given ID,
or all envelopes with the given message ID.
+.It Cm resume envelope all
+Resume scheduling all the envelopes.
.It Cm resume mda
Resume deliveries to local users.
.It Cm resume mta
diff --git a/smtpd/smtpctl.c b/smtpd/smtpctl.c
index e45a0a0..fa9642e 100644
--- a/smtpd/smtpctl.c
+++ b/smtpd/smtpctl.c
@@ -990,14 +990,17 @@ main(int argc, char **argv)
cmd_install("monitor", do_monitor);
cmd_install("pause envelope <evpid>", do_pause_envelope);
cmd_install("pause envelope <msgid>", do_pause_envelope);
+ cmd_install("pause envelope all", do_pause_envelope);
cmd_install("pause mda", do_pause_mda);
cmd_install("pause mta", do_pause_mta);
cmd_install("pause smtp", do_pause_smtp);
cmd_install("profile <str>", do_profile);
cmd_install("remove <evpid>", do_remove);
cmd_install("remove <msgid>", do_remove);
+ cmd_install("remove all", do_remove);
cmd_install("resume envelope <evpid>", do_resume_envelope);
cmd_install("resume envelope <msgid>", do_resume_envelope);
+ cmd_install("resume envelope all", do_resume_envelope);
cmd_install("resume mda", do_resume_mda);
cmd_install("resume mta", do_resume_mta);
cmd_install("resume route <routeid>", do_resume_route);
--
You received this mail because you are subscribed to [email protected]
To unsubscribe, send a mail to: [email protected]