this is fucking ridiculous. the "async" email sending thread gets cancelled when the main thread finishes, so i added a handler to stall the thread until all messages are sent. unbelievable