E-Mail asynchron über PhpMailer senden
Ich benutze PHPMailer, um E-Mails zu senden, was sehr gut funktioniert. Das Problem ist jedoch, dass das anschließende Laden der Seite lange dauert, da die E-Mail synchron gesendet wird.
Ich benutze PhpMailer wie in diesem Beispiel gezeigthttps: //github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.php
Ich frage mich, ob es eine Möglichkeit gibt, die E-Mail-Zustellung asynchron zu gestalten. Ich habe dies untersucht und festgestellt, dass sendmail die Option hat, DeliveryMode auf "Hintergrundmodus" zu setzen - sourcehttp: //php.net/manual/en/function.mail.ph
mail($to, $subject, $message, $headers, 'O DeliveryMode=b');
Ich möchte wissen, ob in PhpMailer etwas Ähnliches möglich ist? Hat jemand Erfolg damit gehabt?
EDIT: - (Zusätzliche Informationen) Es scheint, als könnte PhpMailer so konfiguriert werden, dass es sendmail verwendet -https: //github.com/PHPMailer/PHPMailer/blob/master/class.phpmailer.ph Daher frage ich mich, ob dies irgendwie genutzt werden kann, um die Zustellung im Hintergrund zu ermöglichen.
/**
* 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';
}
Auch - anscheinend gibt es eine Möglichkeit, sendmail-Optionen über php.ini @ zu setzhttp: //blog.oneiroi.co.uk/linux/php/php-mail-making-it-not-suck-using-sendmail
Ich würde es vorziehen, dies als Inline-Argument für den API-Aufruf vs php.ini zu tun, damit dies keine globale Änderung ist. Hat jemand das versucht?