CodeIgniter Email ライブラリ クラスを使用して SMTP プロトコル経由で数千の電子メールを送信する PHP アプリケーションがあります。問題は、送信される電子メールごとに、SMTP サーバーとの新しい接続を使用することです。この場合、固定接続を使用するにはどうすればよいですか?
たとえば、1000 通のメールを送信した後、もう一度認証を行い、さらに 1000 通のメールを送信するとします。
CodeIgniter Email ライブラリ クラスを使用して SMTP プロトコル経由で数千の電子メールを送信する PHP アプリケーションがあります。問題は、送信される電子メールごとに、SMTP サーバーとの新しい接続を使用することです。この場合、固定接続を使用するにはどうすればよいですか?
たとえば、1000 通のメールを送信した後、もう一度認証を行い、さらに 1000 通のメールを送信するとします。
メールクラスで「bcc_batch_mode」を使用してみてください。
詳細については、こちらをご覧ください:https ://codeigniter.com/user_guide/libraries/email.html
そのように簡単です:
クラスのコアを変更するのを辛抱しない限り、CI の Email ライブラリを忘れてください... 良い代替手段として、PHPMailer クラスを使用し、それを CI/Application/libraries に配置して、プロパティを設定するだけです。 $SMTPKeepAlive を true に設定し、やりたいことを実行してから、SmtpClose(); を呼び出します。
ここでは CI を使用して適切に実装しています。SMTP サーバーをデータベースに保持し、すべてのメーリング スタッフは、私が作成したモデルによって「ezfied」されます。
Rgds
私はあなたのコードを読んでいなかったので、彼らがドキュメントに入れたものを投稿します..
$this->email->clear()
すべての電子メール変数を空の状態に初期化します。この関数は、電子メール送信関数をループで実行し、サイクル間でデータをリセットできるようにする場合に使用することを目的としています。
foreach ($list as $name => $address)
{
$this->email->clear();
$this->email->to($address);
$this->email->from('your@example.com');
$this->email->subject('Here is your info '.$name);
$this->email->message('Hi '.$name.' Here is the info you requested.');
$this->email->send();
}
これがうまくいかない場合は、組み込みのメールクラスよりもはるかに適切で、正直なところ、問題のほとんどを解決できるSwift-maillerライブラリを使用してみてください..