For example, currently in StudyHall.Accounts.Senders.SendResetPasswordEmail we directly call Mailer.deliver/1 but we don't really do anything with a bad response.
Instead, we might consider installing Oban and then scheduling the email for delivery, allowing for retries and better observation of issues, and better chances at recovery of issues.
Related reading:
https://blog.kurtov.pro/how-to-structure-email-logic-in-a-phoenix-codebase/
For example, currently in
StudyHall.Accounts.Senders.SendResetPasswordEmailwe directly callMailer.deliver/1but we don't really do anything with a bad response.Instead, we might consider installing Oban and then scheduling the email for delivery, allowing for retries and better observation of issues, and better chances at recovery of issues.
Related reading:
https://blog.kurtov.pro/how-to-structure-email-logic-in-a-phoenix-codebase/