Added: Configurable timeouts for IMAP, SMTP and SIEVE (#843)

This commit is contained in:
RainLoop Team 2015-10-07 21:01:55 +03:00
parent c6f098bd2d
commit 55e3bad890
7 changed files with 17 additions and 3 deletions

View file

@ -6102,6 +6102,7 @@ class Actions
$bUsePhpMail = $oAccount->Domain()->OutUsePhpMail();
$oSmtpClient = \MailSo\Smtp\SmtpClient::NewInstance()->SetLogger($this->Logger());
$oSmtpClient->SetTimeOuts(10, (int) \RainLoop\Api::Config()->Get('labs', 'smtp_timeout', 60));
$bLoggined = $oAccount->OutConnectAndLoginHelper($this->Plugins(), $oSmtpClient, $this->Config(), $bUsePhpMail);

View file

@ -101,6 +101,9 @@ class Api
\MailSo\Config::$LargeThreadLimit =
(int) \RainLoop\Api::Config()->Get('labs', 'imap_large_thread_limit', 50);
\MailSo\Config::$ImapTimeout =
(int) \RainLoop\Api::Config()->Get('labs', 'imap_timeout', 300);
\MailSo\Config::$BoundaryPrefix = '_RainLoop_';
\MailSo\Config::$SystemLogger = \RainLoop\Api::Logger();

View file

@ -330,6 +330,9 @@ Enables caching in the system'),
'smtp_show_server_errors' => array(false),
'sieve_allow_raw_script' => array(false),
'sieve_utf8_folder_name' => array(true),
'imap_timeout' => array(300),
'smtp_timeout' => array(60),
'sieve_timeout' => array(10),
'mail_func_clear_headers' => array(true),
'mail_func_additional_parameters' => array(false),
'favicon_status' => array(true),

View file

@ -59,6 +59,7 @@ class SieveStorage implements \RainLoop\Providers\Filters\FiltersInterface
$aFilters = array();
$oSieveClient = \MailSo\Sieve\ManageSieveClient::NewInstance()->SetLogger($this->oLogger);
$oSieveClient->SetTimeOuts(10, (int) \RainLoop\Api::Config()->Get('labs', 'sieve_timeout', 10));
if ($oAccount->SieveConnectAndLoginHelper($this->oPlugins, $oSieveClient, $this->oConfig))
{
@ -114,6 +115,7 @@ class SieveStorage implements \RainLoop\Providers\Filters\FiltersInterface
public function Save($oAccount, $aFilters, $sRaw = '', $bRawIsActive = false)
{
$oSieveClient = \MailSo\Sieve\ManageSieveClient::NewInstance()->SetLogger($this->oLogger);
$oSieveClient->SetTimeOuts(10, (int) \RainLoop\Api::Config()->Get('labs', 'sieve_timeout', 10));
if ($oAccount->SieveConnectAndLoginHelper($this->oPlugins, $oSieveClient, $this->oConfig))
{