Send mails in an asynchronous process
As far as a pre-built solution goes, you can try the Background process module, which would theoretically allow you to do something like:

$handle = background_process_start('drupal_mail', $module, $key, $to, ...);


Beyond that Drupal has nothing to help, so If you don’t use that module, just approach this as a general PHP task. The options and difficulties for async/background processing in PHP are very well documented around the web.