чтение мыл с пхп

Discussion in 'PHP' started by Tw!m4, 17 Nov 2011.

  1. Tw!m4

    Tw!m4 Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    187
    Likes Received:
    19
    Reputations:
    0
    Такая задача:

    На фирме есть бэкап серверы, которые после завершения работы отправляют мыло со статусом, как прошла работа (удачно или неудачно) и так каждый день. Нужно написать скрипт на пхп, который будет вычитывать статусы и присваивать их с днями недель к их серверам...(все через веб интерфейс)

    типа такого:

    N хост .........пн................вт............ср.........чт.........пт........сб.........вс
    .... .................2.1.11........3.1.11......4.1.11.....................................

    1 сервер1 ....... удачно ...... ошибка ......удачно ...
    2 сервер2 .......ошибка ......ошибка ....удачно ...


    скрипт почти сделан, осталось только статусы привинтить к их серверам и к правильной дате..... все что мне нужно находится в дате и в теме.....


    PHP:
    <?php
    .........

    $imap = imap_open($host, $user, $pass);

    // Debugtimer
    $debug_thistime = array ();     
    $debug_thistime = @explode (" ",(@microtime ()));     
    $debug_thistime[1] = @time ();                

    if(
    $imap){ 
       
    $sorted = imap_sort($imap, SORTDATE, 0);
       
    $mc = imap_check($imap);        

          
    $headers = imap_header($imap, $sorted[$i]);                     
          echo 
    "Imap header -> Time: ".(($debug_thistime[1] - $debug_starttime[1]) + ($debug_thistime[0] - $debug_starttime[0]))."<br />";                          

          for(
    $i=0; $i<count($sorted);$i++){            

             if(
    preg_match($search_title, $headers->Subject)){                 
                echo 
    "<tr><td align='center'> " . $num++ . "</td>\n";                     
                
    //echo "Datum: " . $headers->Date . "<br />\n" ;                     
                
    if(preg_match("/^Backup Server Firma/i",iconv_mime_decode($headers->fromaddress, 0, "ISO-8859-1"))){ 
                   
    $server_stache = iconv_mime_decode($headers->Subject, 0, "ISO-8859-1");                                                  
                   
    $regex = "/Backup Exec Alert:.* /";                     
                   
    $replace = array("Job", ":", "\"", ")");                                                  

                   
    preg_match($regex, $server_stache, $stache_1);                         
                   
    $stache_1[0] = str_replace($replace, "", $stache_1[0]);                        
                   echo 
    "<td align='center'>" . $stache_1[0] . "</td>\n";
             }else{                         
                   echo  
    "<td align='center'>" . iconv_mime_decode($headers->fromaddress, 0, "ISO-8859-1") . " </td>\n";                     
                }                     
             echo 
    "</tr><br />";                 
          }else{                     
              echo 
    "";                 
          }             
    }              

    }    
    $imap_close = imap_close($imap);         
      
    }
     
     
    ?>


    на скобки не обращайте внимания, чё там где не закрыто....я вырезал просто кусок.....

    есть у кого какие идеи? и как можно сам процесс ускарить, а то мне надо примерно 30 сек ждать, пока я ответ получу.....
     
  2. Romaxa55

    Romaxa55 Banned

    Joined:
    19 Oct 2005
    Messages:
    144
    Likes Received:
    30
    Reputations:
    4
    как то сложно ты с функциями поиска и замены написал, проще после коннекта с почтовым сервером через регулярку вытаскивать нужный текст и уж дальше на усмотрение писать результат