Exim 4.87を使用しているサーバーにPHPMailer 5.2.16があり、これには保護された接続用のTLS証明書も含まれています。セキュアSMTP電子メールの送信速度を上げるにはどうすればよいですか?
私のPHPはこのようです:
class MailerSMTP extends PHPMailer {
/***
* Mailer for authenticated SMTP emails using account mail system
***/
public function __construct(){
$this->AddReplyTo('...', '...');
$this->setFrom('...', '...');
$this->Host = "hostname.co.uk";
$this->isSMTP();
$this->Timeout = 20;
$this->SMTPAuth = true;
$this->SMTPSecure = "tls";
$this->Port = "587";
$this->Username = 'emailuser';
$this->Password = 'emailpass';
}
}
そして、これは明らかに、スクリプトに呼び出され、レシーバとメッセージが移入さなどSMTPSecure
縦横約2秒が追加されますが
(または時々もう少し)メッセージを送信するのにかかる時間。現在のところ、この遅延は単一のメッセージ送信であり、私は希望(私はどこか読んでいると思う)は、SMTPの安全性は、受信者のX番号にメッセージのX番号を送信するために一度呼び出す必要があります。
- 私はこの遅延を受け入れながらはある程度避けられないことが、私は、このメソッドを介してセキュアなSMTPの効率を改善する方法に上のいくつかのアドバイスをご希望のでしょうか?
ボーナス質問:
- 私は関係なく、それを介して送信されたメールの数の、このクラスをインスタンス化するときに、この遅延は一度だけ発生すると考えで正しいですか?
私はこのような何か行うことができます想像:
$sender = new MailerSMTP();
$sender->subject ="hello";
$sender->Body = "message";
foreach($receiver as $row){
$sender->addAddress($row['email']);
$sender->send();
$sender->clearAddresses();
}
を、これはわずか2秒SMTPSecure
遅れですべてのメールを送信しませんか?
同じオブジェクトの複数の郵送に関する情報をありがとうございます。これはまれに使用する形式なので、正しいアプローチであることを再確認する必要はありません。私はキープアライブの例を研究します。 – Martin
私は[Host->]を使って[以前の問題](http://stackoverflow.com/questions/40616539/phpmailer-update-issue-from-5-2-9-to-5-2-16) localhost "をPHPMailersの5.2.9より上に置いていますが、(localhostであっても)ホスト名を使用するとこの問題が回避されることがわかりました。 – Martin
私は、 'localhost'では動作しないので、' SMTPAuth'要因によってもかなりの遅れが生じることが分かりました。リモートホストを提供する必要があるので、サーバが遠隔から自分自身に接続しようと時間を費やしているようです。そのようにSMTP送信者を認証します。 – Martin