imap_timeout(1, <seconds>) 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.
(PHP 4 >= 4.3.3, PHP 5, PHP 7)
imap_timeout — Set or fetch imap timeout
Sets or fetches the imap timeout.
timeout_type
One of the following:
IMAP_OPENTIMEOUT
,
IMAP_READTIMEOUT
,
IMAP_WRITETIMEOUT
, or
IMAP_CLOSETIMEOUT
.
timeout
The timeout, in seconds.
If the timeout
parameter is set, this function
returns TRUE
on success and FALSE
on failure.
If timeout
is not provided or evaluates to -1,
the current timeout value of timeout_type
is
returned as an integer.
Example #1 imap_timeout() example
<?php
echo "The current read timeout is " . imap_timeout(IMAP_READTIMEOUT) . "\n";
?>
imap_timeout(1, <seconds>) 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,<number of seconds>);
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.