まず、StackOverflowとそのユーザーに感謝して、多くの技術的問題を解決していただきたいと思います。今日私は、このような問題に対処できないので、このアカウントを作成しました。電子メールの送信による遅延PHP CodeIgniter
問題 - PHP CodeIgniterで電子メールを送信する際に問題が発生しました。関数$ this-> email-> send()は、実行するたびに3〜4秒程かかる。
私たちは、ユーザーが来て、物事を投稿するソーシャルプラットフォームを持っています。ユーザーが新しいアップデートをアップロードするたびに、彼/彼女に電子メールを送信します。 問題はsend email機能が約3〜4秒かかり、1秒以下で機能させるのが大好きです。
私たちはメール送信プロセスを並行して実行する方法はありますか?新しい更新プログラムを取得してそれらのユーザーに電子メールを送信するために継続的に実行されるPythonコードを言う。それより良い方法はありますか?
テクノロジースタック - PHP CIは、MySQL、Apacheのは、Windowsの
これは、すべての新しい更新プログラムに呼び出される電子メールのコードである - databse
でemail
を保存し、送信
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.gmail.com',
'smtp_port' => 587,
'smtp_user' => '[email protected]',
'smtp_pass' => 'password',
'mailtype' => 'html',
'charset' => 'utf-8',
'smtp_crypto' => "tls"
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->set_mailtype("html");
$this->email->from('[email protected]', 'Support');
$this->email->to($this->session->userdata['email']);
$this->email->subject('You have posted a new update');
$this->email->message('Please login to check your new update. Do not reply to this email. For any issues reach out to [email protected]');
if (!$this->email->send())
{
show_error($this->email->print_debugger());
}
else
{
echo true;
}
こんにちは、あなたが答えを知っていればわかります。 でも、私はhotmailかgmailのいずれかから電子メールを送信しても、1分以上かかると思うが、それは良い待っている時間かもしれないと思う。 –
電子メールを送信するために非同期関数を使用することをお勧めします。これにより、ロジックをより速く完了し、迅速な対応が可能になります。詳細については、https://stackoverflow.com/questions/13846192/php-threading-call-to-a-php-function-asynchronously –
をご確認いただきありがとうございます。非同期メソッドを試します。 –