私はPHPMailerのチュートリアルといくつかのチュートリアルをインターネットでフォローしていましたが、まだ2秒未満の実行はできません。多くのウェブサイトでは、それは0.4秒以上かかるべきではないと言います。ローカルマシンとAWSマシンから試しました。実行時間は同じです。PHPMailerの実行時間が約2秒
class BatchMailer {
private static $mail;
private static $initialized = false;
private static function initialize() {
if (self::$initialized)
return;
self::$mail = new PHPMailer;
self::$mail->SMTPDebug = 2;
self::$mail->isSMTP();
self::$mail->Host = 'smtp.gmail.com';
self::$mail->Port = 587;
self::$mail->SMTPSecure = 'tls';
self::$mail->SMTPAuth = true;
self::$mail->Username = '***';
self::$mail->Password = '***';
self::$mail->SMTPKeepAlive = true;
self::$mail->setFrom('***@gmail.com', 'Title');
self::$mail->isHTML(true);
self::$mail->AltBody = 'Please use an HTML-enabled email client to view this message.';
self::$initialized = true;
}
public static function setSubject($subject) {
self::initialize();
self::$mail->Subject = $subject;
}
public static function setBody($body) {
self::initialize();
self::$mail->Body = stripslashes($body);
}
public static function sendTo() {
self::initialize();
self::$mail->clearAddresses();
$recipients = array(
'***@gmail.com' => 'Person One'
);
foreach($recipients as $email => $name) {
self::$mail->AddCC($email, $name);
}
self::$mail->send();
return;
}
static function test() {
self::setSubject('subject');
self::setBody('body');
self::sendTo();
}
}
ありがとうございます。 PHPで使用できるローカルのメールサーバをお勧めしますか? – user256968
どんなものでも構いませんが、ポストフィックスはおそらくセットアップが簡単です。他にはexim、sendmail、haraka、qmailがあります。 – Synchro
私はsendgridメールサービスを使用しました。彼らはAPI呼び出しとしてメールを送信するSMTP APIを提供しています。それを試して、それはかなり速いと感じた。 https://sendgrid.com/docs/Integrate/Code_Examples/v2_Mail/php.html – BlackBurn027