send-to-list
This commit is contained in:
Executable
+26
@@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
LIST="$1"
|
||||||
|
DONE="$2"
|
||||||
|
EMAIL="$3"
|
||||||
|
MAX=${4:-1}
|
||||||
|
|
||||||
|
touch "$DONE"
|
||||||
|
count=0
|
||||||
|
|
||||||
|
while IFS= read -r line; do
|
||||||
|
grep -Fxq -- "$line" "$DONE" && continue
|
||||||
|
|
||||||
|
if msmtp "$line" < "$EMAIL"; then
|
||||||
|
printf '%s\n' "$line"
|
||||||
|
printf '%s\n' "$line" >> "$DONE"
|
||||||
|
((++count >= MAX)) && break
|
||||||
|
else
|
||||||
|
echo "FAILED: $line" >&2
|
||||||
|
grep -v $line $LIST > tmp
|
||||||
|
mv tmp $LIST
|
||||||
|
fi
|
||||||
|
|
||||||
|
done < "$LIST"
|
||||||
|
|
||||||
Reference in New Issue
Block a user