function processImapFolder($server, $user, $password, $folder, $fieldlist = array()) { $result = array(); #$port = "993/imap/ssl/novalidate-cert"; $port = "143/imap/notls"; $mbox = imap_open("{" . $server . ":" . $port . "}{$folder}", $user, $password, OP_READONLY); if (!$mbox) { Fatal_Error($GLOBALS['I18N']->get("can't connect") . ": " . imap_last_error()); return 0; } print $GLOBALS['I18N']->get('Processing') . " " . $folder; $GLOBALS["foldercount"]++; $num = imap_num_msg($mbox); print "(" . $num . " " . $GLOBALS['I18N']->get('messages') . ")"; for ($x = 1; $x <= $num; $x++) { set_time_limit(60); $header = imap_headerinfo($mbox, $x); $emails = fetchEmailsFromHeader($header, $folder, $fieldlist); # $result = array_merge($result,$emails); foreach ($emails as $email => $list) { if (!is_array($result[$email])) { $result[$email] = array(); } foreach ($list as $key => $rec) { array_push($result[$email], $rec); } } if ($x % 25 == 0) { print $x . "/{$num} " . $GLOBALS['I18N']->get('done') . "<br/>"; } print "\n"; flush(); } return $result; }
function processImapFolder($server,$user,$password,$folder,$fieldlist = array()) { $result = array(); $port = "143/imap/notls"; $mbox = imap_open("{".$server.":".$port."}$folder",$user,$password, OP_READONLY); if (!$mbox) { Fatal_Error("can't connect: ".imap_last_error()); return 0; } print "Processing $folder "; $GLOBALS["foldercount"]++; $num = imap_num_msg($mbox); print "(".$num . " messages)"; for($x=1; $x <= $num; $x++) { set_time_limit(60); $header = imap_headerinfo($mbox,$x); $emails = fetchEmailsFromHeader($header,$folder,$fieldlist); # $result = array_merge($result,$emails); foreach ($emails as $email => $list) { if (!is_array($result[$email])) $result[$email] = array(); foreach ($list as $key => $rec) array_push($result[$email],$rec); } if ($x % 25 == 0) print $x . "/$num done<br/>"; print "\n"; flush(); } return $result; }