Du könntest als erstes versuchen mit is_email() die Adresse auf Gültigkeit zu prüfen und dann mit sanitize_email zu filtern. In etwa so:
sanitize_email( (is_email( $email ) )
Damit kann WordPress zwar immer noch keine Umlaute, aber durch is_email() würde bei Umlauten in der Adresse ein leerer Wert zurück geliefert.
Nur mit sanitize_email würden einfach die Umlaute entfernt und dann der Rest der Adresse weiter verwendet.