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.
This commit is contained in:
justin 2026-06-22 12:49:54 -05:00
parent 62292b96af
commit 1e9dcfcfd1

View file

@ -27,13 +27,17 @@ START=$(cat "$STATE"); NOW=$(date +%s); DAYS=$(( (NOW - START) / 86400 ))
if [ "$DAYS" -le 1 ]; then RATE=50 if [ "$DAYS" -le 1 ]; then RATE=50
elif [ "$DAYS" -le 3 ]; then RATE=150 elif [ "$DAYS" -le 3 ]; then RATE=150
elif [ "$DAYS" -le 6 ]; then RATE=250 elif [ "$DAYS" -le 6 ]; then RATE=250
# Recovery: Gmail began spam-blocking the warming IPs at 400/h on day 9 # Recovery -> step back up (2026-06-22): the day-9 Gmail block (400/h, 2026-06-13)
# (2026-06-13) -- too aggressive, and the trucking pool lacks per-MX throttling # happened because cold sends concentrated on Google-Workspace business domains
# so Google-Workspace-hosted business domains concentrated. Hold at 200/h (~2k/day) # with no per-MX throttle. All three causes are now fixed: (1) per-MX throttling
# until reputation recovers and per-MX throttling is added to the trucking pool, # shipped to the trucking pool, (2) Google is EXCLUDED entirely
# then step back up slowly. # (MAIN_EXCLUDE_OPERATORS=google) while its reputation recovers, (3) the OpenDKIM
elif [ "$DAYS" -le 20 ]; then RATE=200 # signing bug is fixed so mail is no longer junked unsigned. With Google out of
else RATE=300; fi # 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" cd "$COMPOSE_DIR"
psql() { PGPASSWORD=$PGPASSWORD docker compose exec -T -e PGPASSWORD=$PGPASSWORD api-postgres \ psql() { PGPASSWORD=$PGPASSWORD docker compose exec -T -e PGPASSWORD=$PGPASSWORD api-postgres \