I would be careful using direct exclusions (e.g. IndexOf(), Contains/Like statements, etc) because it could mean legit emails never get sent.
E.g. Haydummyers@xyz.com would not get your email because it has 'dummy' in it.
As well, if a person has an online alias (notAdummy69@xyz.com) or a business has dummy in its name (mbayter@dummyshop.com) you would exclude them.
<Rant>
It also comes down to the question of "Who are you to judge the legitimacy of personal information a person submits to you?" I believe in most places you are considered 'Innocent until proven guilty' and I think that should apply here as well.
I personally think giving the customer the benefit of the doubt and at least attempting a single send is a far better experience and healthy relationship than automatically excluding them based on preconceived notions.
</Rant>
What you can do to take care of those bad email addresses to ensure deliverability is you check the domains for legitimacy (no @fake.com or @notanemail.com) to prevent hard bounces up front. Then run a daily query or export to find all the soft bounces from the previous day with 'not a real alias at domain' (or whatever the message/code is) and then unsubscribe them.
Through this you would greatly reduce risk (aka damage to sender rep) while increasing value via ensuring all legitimate emails are sent out - essentially creating a greater value to cost, increasing overall ROI.