Couple of pointers as I'm not sure if the errors posted are related to "email" problem statement or something else -
1) check why the mime type of css is 'text/html', it should be 'text/css; charset=UTF-8'. That could possibly break the HTML rendering. check the publish server(s) directly or otherwise figure out which server/proxy in your setup above publisher is modifying the content type. You should fix that.
2) If you have configured CSRF libraries in your code then check the CSRF related errors in logs or otherwise validate '/libs/granite/csrf/token.json' loads correctly on your page that has the form and CSRF is configured properly on the publish servers.
3) Validate the Sling Referrer Filter is configured properly in your publish servers and your request has appropriate host header that are allowed and not rejected by Sling Referrer Filter in /system/console/configMgr
4) Apply debug logs on specific code packages, mail packages (com.day.cq.mailer) and to get more clues. You may apply logs on CSRF and Sling filters to rule out any malformed request/headers since you have confirmed that the email service works directly in the publish servers
5) i18n error could possibly be ACL issue with service user on your code package or however you utilize i18n in your source code. It may help if you apply debug logs and find more pointers