Exemple #1
0
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;
}
Exemple #2
0
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;
}