Short answer: the best practices for retrying failed email API calls are bounded exponential backoff, five attempts, and one idempotency key; for a property-management reset flow, choose a unified REST layer only when it reduces integration effort across several backend services.
For a property-management app, the best retry design for a short-lived password-reset email is a bounded, idempotent worker: retry transient failures with exponential backoff, stop after a small attempt budget, and inspect delivery state separately. That design keeps a temporary provider problem from becoming a flood of duplicate reset messages. The harder choice is architectural.…