The problem with your script, though is that you have to manually update it, like you did with aero, museum, xxx, etc. A much better, albeit slightly more expensive solution, is to get the domain and see if it actually exists and has an mx record, because as this shows, there are times when that regex falls apart.