У меня есть конфигурация электронной почты SMTP для отправки электронной почты через Codeigniter следующим образом:
$config = [
'protocol' => 'smtp',
'smtp_host' => 'ssl://cph.dnet.net.id',
'smtp_port' => 465,
'smtp_timeout' => 50,
'smtp_user' => '[email protected]',
'smtp_pass' => 'MyPaSsWoRd',
'smtp_keepalive' => 'TRUE',
'mailtype' => 'html',
'charset' => 'iso-8859-1'
];
$this->email->initialize($config);
Если я отправляю только несколько писем, это всегда работает. Однако, когда я отправляю много писем, возникает ошибка, подобная следующей:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\XAMPP\htdocs\sicuti\system\libraries\Email.php on line 2268
Ошибка решается путем редактирования «php.ini» в значении «max_execution_time» до 9999
.but codeigniter отображает новые проблемы, например:
fwrite(): SSL operation failed with code 1. OpenSSL Error messages: error:140D00CF:SSL routines:SSL_write:protocol is shutdown
хотя моя конфигурация SMTP правильная, в соответствии с рекомендациями в моей cpanel
Если определенно будет работать только несколько электронных писем, но если появится более 10 ошибок, что я должен изменить, чтобы я мог отправлять несколько писем одновременно?
Спасибо, любой ответ, который я ценю.
У меня есть функция цикла для отправки нескольких электронных писем, которая вызывает ошибки, потому что я отправляю много писем за раз, поэтому я даю перенаправление на каждую доставку электронной почты, чтобы доставка работала нормально. В следующей функции цикла я вставил функцию перенаправления, и она работает очень хорошо:
function index () {
if (!empty($this->Leave_Model->count_all_leave_wait())) {
$leave_wait_data = $this->Leave_Model->get_all_leave_wait();
foreach ($leave_wait_data as $res) {
if (date('Y-m-d')>$res->Confirm_Date) {
$this->Send_Leave_Request($res->L_Request_ID); # Send Email
$this->Leave_Model->update_lvd_confirm_date($res->L_Request_ID); # Update Confirm Date When Success Send
redirect('Login_Employe'); # Redirect
}
}
}
}
function Send_Leave_Request ($id)
{
# bla bla bla
$this->email->message('Bla bla la bla bla...');
$this->email->send();
}
Других решений пока нет …