We recently migrated from local Exchange to O365. We have some console apps that periodically check for and send out queued emails in batches.
We discovered that if we didn't throttle the send rate in the smtp loop, the O365 account used to authenticate with our tenant would start getting 5.2.0 connection errors "STOREDRV.Submission.Exception:SubmissionQuotaExceededException". We put in a 3-second delay which would throttle the emails to 20/minute, which seems to work OK (I believe the rate limit is still 30/minute?).
Recently one of our apps ran without the delay, and the user account used to send emails started getting blocked. We disabled the process and added back in the delay, but we're still unable to connect with that user (changing the SMTP authentication to a different user worked fine).
My question is, how long does the block stay on the account? an hour? 3 hours? 24 hours?