Home » Php » imap – How to override php.ini timeout for imap_timeout functionality with secure POP3 servers

imap – How to override php.ini timeout for imap_timeout functionality with secure POP3 servers

Posted by: admin July 12, 2020 Leave a comment

Questions:

The PHP IMAP Library doesn’t have built in ways to change the imap_timeout function for secure pop3 connections. I’m looking to build this functionality so I can set timeout to 1 second for connections for secure pop3 servers, but I’m just not sure where I would start to learn about overriding the php.ini command within a PHP function. Any ideas?

imap_timeout(1, ) works fine
for pop3 connections, but apparently
not for pop3s (ssl, port 995)

connections, where the default socket
timeout still applies. This applies to
php 4.3.10, not tested on other
versions.


We looked into the source to find out
what this function actually does and
how to use it. The function overrides
the default_socket_timeout setting
from your php.ini file

You can retrieve the current timeout
length for each timeout type by
calling the function as:

imap_timeout(timeout_type);
or imap_timeout(timeout_type,-1);

You can set the timeout length for any
of the timeout types by setting the
timeout value to a number of seconds.

imap_timeout(timeout_type,);

The timeout types are as follows:

1: Open 2: Read 3: Write 4: Close

It does not appear that the close type
has been implemented.

Source: https://students.kiv.zcu.cz/doc/php5/manual/cs/function.imap-timeout.php.html

How to&Answers:

use the default_socket_timeout

here is small demonstration to override default configuration.

ini_set('default_socket_timeout', 2);
// your socket based code here

// restore to the default socket timeout
ini_restore('default_socket_timeout');