WorldconVotingSystems / WorldconVotingSystems/nomnom

Handle retries in ballot emails

Open
#273 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

administrator-feature availability enhancement member-feature
Dominant language
Python
Stars
17
Forks
15
Avg merge
11m
Merged PRs (30d)
1

Description

SMTPDataError: (421, b'Domain mail.seattlein2025.org is not allowed to send: daily request limit exceeded, try again after Thu, 24 Jul 2025 18:52:37 UTC')

We made a delightful discovery that NomNom's emails to members might be rejected if the mail API failed due to exceeding a rolling send window, which can happen at high volume times if the email service has limits that don't meet our needs.

When we receive a backoff message like this -- it won't be great -- we should re-queue on some kind of backoff.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file or test is named. Start by locating the ballot email sending entry point and its handling of SMTPDataError, then determine how a backoff message can be re-queued. Done means emails rejected because of a rolling send limit are retried after a backoff rather than lost.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.