quickly skimmed what you are running into, will revisit in a bit in more depth if required.
Assuming that the service that is not accepting no email is using a relational database, this would be a common error. have you tried the following.
What this does is if the “email field is empty” instead of returning nothing, it returns the “null” value which is (way over simplifying here,some database engineer would not like this explanation) like telling the service “you are intentionally leaving that blank” instead of “i forgot to add that”
Let me know if that works, if it doesn’t ill dive in deeper.