Numerous tests in our automated test suite started failing this morning. The common factor is that the tests are creating or modifying "customer" records with an email address that uses the example.com domain. These tests are not trying to send email, the part of the code that's failing is the input validation which uses Email::Valid with the MX check enabled.
First thing this morning, the tests were only failing on our CI server. The same tests ran fine on our development server. As we went back and forth comparing different test scripts on the two hosts, we eventually realised that all the same tests were now failing on the dev server too. This could possibly be explained by something having changed about the MX record for example.com which affected different hosts at different times depending on DNS cache expiry.
Of course there is a compelling argument that our tests should not be relying on someone else's DNS setup in general and the MX setup for example.com in particular. However the fact remains, these tests passed yesterday and are failing today.
We have put in a workaround in our validation routine so this is not really a question - more of a heads up, in case something like this happens to you today :-)