Skip to content

Commit c459b84

Browse files
committed
Merge remote-tracking branch 'origin/prune-mailq'
2 parents fb8654f + a68d2cd commit c459b84

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

server/fedora/config/etc/scripts/prune-mailq

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ usage="Usage:
99
$0 list-to
1010
$0 show-rand [from regex|to regex]
1111
$0 email lockers...
12-
$0 purge-from address...
1312
$0 purge-fullname fullnames...
14-
$0 purge-to lockers..."
13+
$0 purge-from lockers...
14+
$0 purge-from-re regexes...
15+
$0 purge-to lockers...
16+
$0 purge-to-re regexes..."
1517

1618
usage() {
1719
echo "$usage" >&2;
@@ -120,6 +122,18 @@ purge_from() {
120122
done
121123
}
122124

125+
purge_from_re() {
126+
if [[ $# -eq 0 ]]; then
127+
echo "Please specify a regex to purge emails from" >&2
128+
exit 1
129+
fi
130+
for re in "$@"; do
131+
echo "$re"
132+
mailq | tail -n +2 | grep -v '^ *(' | awk "BEGIN { RS = \"\" } (\$7 ~ \"$re\") { print \$1 }" | tr -d '*!' | postsuper -d -
133+
echo
134+
done
135+
}
136+
123137
purge_to() {
124138
if [[ $# -eq 0 ]]; then
125139
echo "Please specify a locker to purge emails to" >&2
@@ -133,6 +147,18 @@ purge_to() {
133147
done
134148
}
135149

150+
purge_to_re() {
151+
if [[ $# -eq 0 ]]; then
152+
echo "Please specify a regex to purge emails to" >&2
153+
exit 1
154+
fi
155+
for re in "$@"; do
156+
echo "$re"
157+
mailq | tail -n +2 | grep -v '^ *(' | awk "BEGIN { RS = \"\" } (\$8 ~ \"$re\" && \$9 == \"\") { print \$1 }" | tr -d '*!' | postsuper -d -
158+
echo
159+
done
160+
}
161+
136162
op=${1:-}
137163

138164
# We want to go ahead and show the usage message if there are no args, so
@@ -145,9 +171,11 @@ case "$op" in
145171
list-to) list_to;;
146172
show-rand) show_rand "$@";;
147173
email) tmpl_email "$@";;
148-
purge-from) purge_from "$@";;
149174
purge-fullname) purge_fullname "$@";;
175+
purge-from) purge_from "$@";;
176+
purge-from-re) purge_from_re "$@";;
150177
purge-to) purge_to "$@";;
178+
purge-to-re) purge_to_re "$@";;
151179
*)
152180
usage
153181
;;

0 commit comments

Comments
 (0)