Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unlimited retries when email bounces and asynchronous sales email sending is turned on #11

Open
erfanimani opened this issue Aug 10, 2021 · 3 comments

Comments

@erfanimani
Copy link
Collaborator

Whenever asynchronous sales emails is turned on, and the email has failed to send due to a bounce or otherwise, ever minute the cron keeps retrying this message for an unlimited period of time.

@scottsb
Copy link

scottsb commented Aug 10, 2021

Hmm, this is a bit of a challenging issue and may be outside the scope of the extension here. If an email fails to send, we don't want to report back to Magento's core code that the send was successful. Perhaps what we need to differentiate between is semi-permanent failures (e.g., a blocked recipient) vs. a transient issue (e.g., Postmark being unreachable).

In the meantime, I will point out this feature of Postmark that could be used to help catch emails that will bounce before they get to that point: https://postmarkapp.com/rebound

@scottsb
Copy link

scottsb commented Aug 10, 2021

Incidentally, I happen to know that some other email delivery extensions have this same behavior. In fact, for one client of ours that uses a different email platform, we turned on async delivery specifically to take advantage of this behavior, since that API has had more reliability issues, which in turn was leading to occasional dropped transactional emails.

@erfanimani
Copy link
Collaborator Author

I see what you mean, and your initial suggestion sounds ideal — differentiating between an API connection issue, or bounce.

However, if we're following Magento's normal behaviour — that is, simply attempting to send an email off and not caring about the result — then I would expect the same to happen when asynchronous sending is turned on. The current behaviour is actually fairly problematic because you might end up with hundreds of API requests every minute for ever sales email that bounced.

(Funnily enough I kinda make use of this behaviour, by receiving a log alert, and telling an admin person to ring up the customer and confirm their email, relevant: https://xkcd.com/1172/)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants