Earlier quoted context omitted.
Being down is okay. Returning an error message that results in the data being thrown away instead of being requeued is not. Block incoming smtp connections until your app layer is fixed.
Yeah, this is a particularly pernicious failure given how email works. Many mailing providers will just mark these as blacklisted, now, and lots of unsophisticated users likely won't notice.
Gmail having issues
331–340 of 460 posts
Re: Gmail having issues
#332Earlier quoted context omitted.
> I said this in another comment but this seems like a naive way to react to an "address does not exist error" that they've already delivered to before. Like HTTP, SMTP is also designed to be stateless so, in the first place, the remote server shouldn't return a permanent error in temporary failure scenarios. The default error should be 450: "Requested action not taken – The user’s mailbox is unavailable”, not "the u…
Your answer kind of misses the point GP was trying to make. Google's mailserver could genuinely believe that the user doesn't exist, if the user service doesn't fail completely but cannot access part of the data and thus doesn't find a user record. In this case the returned "user doesn't exist" error is intended behavior of the mail server and the post you replied to still stands. If you sent to that email successful…
Re: Gmail having issues
#333"Type: Permanent; SubType: General; Code: smtp; 550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1 https://support.google.com/mail/?p=NoSuchUser y128si147264pfg.177 - gsmtp"
This is pretty much the worst response possible. Hard bounces mean that email delivery services are going to start automatically removing, or at least stopping delivery to, entire slews of email addresses. A lot of clean up is going to be needed as a result of this. To add some more details, when using a 3rd party email delivery service, those services will either black-list or just outright remove email addresses wh…
That means I can't just resend the the emails blindly, because I'm too scared to trigger some sort of automatic suspension...
(I don't do this regularly, so I'm not familiar with all features... additional mail verification could help probably ....)
Re: Gmail having issues
#334Earlier quoted context omitted.
> I said this in another comment but this seems like a naive way to react to an "address does not exist error" that they've already delivered to before. Like HTTP, SMTP is also designed to be stateless so, in the first place, the remote server shouldn't return a permanent error in temporary failure scenarios. The default error should be 450: "Requested action not taken – The user’s mailbox is unavailable”, not "the u…
Your answer kind of misses the point GP was trying to make. Google's mailserver could genuinely believe that the user doesn't exist, if the user service doesn't fail completely but cannot access part of the data and thus doesn't find a user record. In this case the returned "user doesn't exist" error is intended behavior of the mail server and the post you replied to still stands. If you sent to that email successful…
Mailing lists believing what an email provider tells them and acting in an overly cautious way is a separate issue.
Re: Gmail having issues
#335This outage has now convinced me I need a new email provider.
Re: Gmail having issues
#336Earlier quoted context omitted.
> I said this in another comment but this seems like a naive way to react to an "address does not exist error" that they've already delivered to before. Like HTTP, SMTP is also designed to be stateless so, in the first place, the remote server shouldn't return a permanent error in temporary failure scenarios. The default error should be 450: "Requested action not taken – The user’s mailbox is unavailable”, not "the u…
Your answer kind of misses the point GP was trying to make. Google's mailserver could genuinely believe that the user doesn't exist, if the user service doesn't fail completely but cannot access part of the data and thus doesn't find a user record. In this case the returned "user doesn't exist" error is intended behavior of the mail server and the post you replied to still stands. If you sent to that email successful…
If the protocol is stateful, why the state should be kept by the "sender" and not by the "receiver"? Being stateless removes this ambiguity in my opinion.
Also we should remember how bad is for spam reputation sending emails to a non-existent address and thus I would not blame it on the mailing list for being "overly cautious".
Re: Gmail having issues
#337Earlier quoted context omitted.
Gmail screwed up, but that's beside the point. We're talking about designing robust systems. You don't design a robust system by assuming nobody will screw up! Re: the RFC, note it says "should not", not "must not". That seems to suggest they acknowledge repeating might actually make sense in some cases. And honestly the practicalities of this situation and the risk-reward tradeoff seriously tilts toward repeating th…
> And honestly the practicalities of this situation and the risk-reward tradeoff seriously tilts toward repeating the request later regardless of what the RFC says. The world isn't going to end. That is exactly the thought process that leads to non-standard mess that we see numerous examples of. If you believe the standard is not robust enough to handle problems like this, first work towards a fix to the standard and…
These incorrect responses could be caused by mistakes which the remote server admins could reasonably avoid, like software bugs. I understand not having much sympathy for that case, especially from an organization with no shortage of resources. But they could also be caused by, for example, hackers or governments exerting control over the remote server temporarily.
A standard which explicitly refuses to acknowledge these possibilities is not what I would describe as “robust.” An obvious better alternative would be to set some standards around what constitutes a polite retry policy.
Re: Gmail having issues
#338Earlier quoted context omitted.
> I said this in another comment but this seems like a naive way to react to an "address does not exist error" that they've already delivered to before. Like HTTP, SMTP is also designed to be stateless so, in the first place, the remote server shouldn't return a permanent error in temporary failure scenarios. The default error should be 450: "Requested action not taken – The user’s mailbox is unavailable”, not "the u…
Your answer kind of misses the point GP was trying to make. Google's mailserver could genuinely believe that the user doesn't exist, if the user service doesn't fail completely but cannot access part of the data and thus doesn't find a user record. In this case the returned "user doesn't exist" error is intended behavior of the mail server and the post you replied to still stands. If you sent to that email successful…
If the a mail server can't tell whether a user/email is valid, it should either return a temporary failure or accept and queue.
Unless of course you're too big to fail, then you just do whatever you want.
Re: Gmail having issues
#339Earlier quoted context omitted.
Your answer kind of misses the point GP was trying to make. Google's mailserver could genuinely believe that the user doesn't exist, if the user service doesn't fail completely but cannot access part of the data and thus doesn't find a user record. In this case the returned "user doesn't exist" error is intended behavior of the mail server and the post you replied to still stands. If you sent to that email successful…
Google's user service should be able to tell the difference between a user's data not being available and a user that has been deleted or never existed in the first place. This issue is Google sending the wrong error code because of a problem on their end. Mailing lists believing what an email provider tells them and acting in an overly cautious way is a separate issue.
This can't work; you can say that gmail's system should have a component that recognizes the difference between various failures, but that new component can itself fail. You can't solve the problem of "what if something fails" by saying "just add a new component that won't fail".
Re: Gmail having issues
#340Earlier quoted context omitted.
This is the Nightmare Scenario for mailing lists. Many of them auto-unsubscribe after a bounce.
I said this in another comment but this seems like a naive way to react to an "address does not exist error" that they've already delivered to before. The only legit scenario in which that happens is when the user deletes the address, which is a rare event (pretty much always The underlying issue (wherever this occurs) seems to be lack of nuance regarding error codes when people try to implement robust systems. Diffe…
That's the standards-compliant way. Also I'd argue that spec'ing your code to handle cases where Google fails that badly is (was?) a poor allocation of LoCs.