phloo Mail handling should never interfere with frontend actions.
It won't, if you set up a queue. The easiest is the database queue.
The principle of web, if you send a xhr to the server is that it cannot do a fire and forget. Even with forked requests, once the (parent) request ends all execution is cancelled. That is why, at some scale, you either need to allow longer execution, reduce mail sending latency or implement a background process handling the mail (eg a queue).
phloo I will try to copy the xhr response next time.
Perhaps the logs have more information on what is going on.