Enviar email de forma assíncrona via PhpMailer

Estou usando o PHPMailer para enviar e-mail, o que funciona muito bem. O problema, porém, é que, como ele envia o email de forma síncrona, o carregamento da página subsequente leva muito tempo.

Estou usando o PhpMailer, como mostrado neste exemplohttps://github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps

Gostaria de saber se existe uma maneira de tornar a entrega de email assíncrona. Eu pesquisei isso e descobri que o sendmail tem uma opção para definir o DeliveryMode como "modo de segundo plano" - fontehttp://php.net/manual/en/function.mail.php

mail($to, $subject, $message, $headers, 'O DeliveryMode=b');

Quero saber se algo semelhante pode ser feito no PhpMailer? alguém teve algum sucesso com isso?

EDIT: - (Informações adicionais) Parece que o PhpMailer pode ser configurado para usar o sendmail -https://github.com/PHPMailer/PHPMailer/blob/master/class.phpmailer.php Portanto, eu me pergunto se isso pode ser de alguma forma aproveitado para permitir a entrega em segundo plano.

/**
 * Which method to use to send mail.
 * Options: "mail", "sendmail", or "smtp".
 * @type string
 */
public $Mailer = 'mail';

/**
 * The path to the sendmail program.
 * @type string
 */
public $Sendmail = '/usr/sbin/sendmail';
/**
 * Whether mail() uses a fully sendmail-compatible MTA.
 * One which supports sendmail's "-oi -f" options.
 * @type boolean
 */
public $UseSendmailOptions = true;

/**
 * Send messages using $Sendmail.
 * @return void
 */
public function isSendmail()
{
    $ini_sendmail_path = ini_get('sendmail_path');
    if (!stristr($ini_sendmail_path, 'sendmail')) {
        $this->Sendmail = '/usr/sbin/sendmail';
    } else {
        $this->Sendmail = $ini_sendmail_path;
    }
    $this->Mailer = 'sendmail';
}

Além disso - aparentemente, há uma maneira de definir opções do sendmail via php.inihttp://blog.oneiroi.co.uk/linux/php/php-mail-making-it-not-suck-using-sendmail/

Eu preferiria fazer isso como um argumento embutido para a chamada da API vs php.ini, para que não seja uma mudança global. alguem ja tentou isso?

questionAnswers(2)

yourAnswerToTheQuestion