From 1e9dcfcfd1c44ca7bb7400b1b637ddf3ad4d1540 Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 22 Jun 2026 12:49:54 -0500 Subject: [PATCH] mail(rampcap): step trucking cap back up to 400/h (day 19-20), 500/h ceiling The day-9 Gmail block that forced the 200/h hold is resolved: per-MX throttling shipped, Google is excluded entirely (MAIN_EXCLUDE_OPERATORS=google), and the OpenDKIM signing bug is fixed. With Google out of the mix, 400/h (~4k/day) is within the envelope these IPs cleanly sustained at 68-76% delivery with zero blocks. Lets the post-DKIM re-send backlog drain in ~1 day instead of ~3. --- infra/postfix/pw-listmonk-rampcap.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/infra/postfix/pw-listmonk-rampcap.sh b/infra/postfix/pw-listmonk-rampcap.sh index 8d08a8e..f0dd821 100755 --- a/infra/postfix/pw-listmonk-rampcap.sh +++ b/infra/postfix/pw-listmonk-rampcap.sh @@ -27,13 +27,17 @@ START=$(cat "$STATE"); NOW=$(date +%s); DAYS=$(( (NOW - START) / 86400 )) if [ "$DAYS" -le 1 ]; then RATE=50 elif [ "$DAYS" -le 3 ]; then RATE=150 elif [ "$DAYS" -le 6 ]; then RATE=250 -# Recovery: Gmail began spam-blocking the warming IPs at 400/h on day 9 -# (2026-06-13) -- too aggressive, and the trucking pool lacks per-MX throttling -# so Google-Workspace-hosted business domains concentrated. Hold at 200/h (~2k/day) -# until reputation recovers and per-MX throttling is added to the trucking pool, -# then step back up slowly. -elif [ "$DAYS" -le 20 ]; then RATE=200 -else RATE=300; fi +# Recovery -> step back up (2026-06-22): the day-9 Gmail block (400/h, 2026-06-13) +# happened because cold sends concentrated on Google-Workspace business domains +# with no per-MX throttle. All three causes are now fixed: (1) per-MX throttling +# shipped to the trucking pool, (2) Google is EXCLUDED entirely +# (MAIN_EXCLUDE_OPERATORS=google) while its reputation recovers, (3) the OpenDKIM +# signing bug is fixed so mail is no longer junked unsigned. With Google out of +# the mix, 400/h (~4k/day) is within the envelope these IPs cleanly sustained at +# 68-76% delivery with zero blocks. Hold 400/h while we drain the post-DKIM +# re-send backlog, then 500/h hard ceiling. +elif [ "$DAYS" -le 20 ]; then RATE=400 +else RATE=500; fi cd "$COMPOSE_DIR" psql() { PGPASSWORD=$PGPASSWORD docker compose exec -T -e PGPASSWORD=$PGPASSWORD api-postgres \