Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29

Discussione: imap, mime, utf, iso

  1. #1

    imap, mime, utf, iso

    obiettivo: visualizzare titolo data e testo di un messaggio
    funzioni usate:
    Codice PHP:
    function retrieve_message($mbox$messageid)
    {
       
    $message = array();

       
    $header imap_headerinfo($mbox$messageid);
       
    $structure imap_fetchstructure($mbox$messageid);

       
    $message['subject'] = isset($header->subject) ? utf8_decode(imap_utf8($header->subject)) : null;
       
    $message['from'] =  isset($header->from) ? $header->from null;
       
    $message['senderaddress'] = isset($header->senderaddress) ? $header->senderaddress null;
       
    $message['to'] = isset($header->to) ? $header->to null;
       
    $message['cc'] = isset($header->cc) ? $header->cc null;
       
    $message['bcc'] = isset($header->bcc) ? $header->bcc null;
       
    $message['date'] = isset($header->date) ? $header->date null;

      if (
    check_type($structure))
      {
       
    $message['body'] = imap_fetchbody($mbox,$messageid,"1"); ## GET THE BODY OF MULTI-PART MESSAGE
       
    if(!$message['body']) {$message['body'] = '[EMPTY]\n\n';}
      }
      else
      {
       
    $message['body'] = imap_body($mbox$messageid,"1");
       if(!
    $message['body']) {$message['body'] = '[EMPTY]\n\n';}
      }
      
    $message['body1'] = $message['body'];
      
    $message['body'] = decode_ISO88591($message['body']);
      
    $message['body'] = str_replace("=\r\n",'',$message['body']);
      return 
    $message;
    }
    function 
    decode_ISO88591($string)
    {               
      
    $string=str_replace("=?iso-8859-1?q?","",$string);
      
    $string=str_replace("=?iso-8859-1?Q?","",$string);
      
    $string=str_replace("?=","",$string);

      
    $charHex=array("0","1","2","3","4","5","6","7",
                     
    "8","9","A","B","C","D","E","F");
          
      for(
    $z=0;$z<sizeof($charHex);$z++)
      {
       for(
    $i=0;$i<sizeof($charHex);$i++)
       {
         
    $string=str_replace(("=".($charHex[$z].$charHex[$i])),
                             
    chr(hexdec($charHex[$z].$charHex[$i])),
                             
    $string);
       }
      }
      return(
    $string);
    }
    function 
    check_type($structure## CHECK THE TYPE
    {
      if(
    $structure->type == 1)
       {
         return(
    true); ## YES THIS IS A MULTI-PART MESSAGE
       
    }
     else
       {
         return(
    false); ## NO THIS IS NOT A MULTI-PART MESSAGE
       
    }


    per chi dovesse trovare questo thread con la ricerca quando funzionerà:
    Codice PHP:
    $mbox imap_open('{localhost:143/novalidate-cert}INBOX''username@dominio.ch''password')
         or die(
    "can't connect: " imap_last_error());
    $quanti imap_num_msg($mbox);
    for (
    $a 1$a<=$quanti$a++) {
      
    $msg retrieve_message($mbox,$a);
      
    print_r($msg);
      
    imap_delete($mbox$a);
    }
    imap_close($mbox,CL_EXPUNGE); 
    riuscito: 95%
    problema: se c'è un url con cose tipo id=123 fa casino
    soluzione: la chiedo a voi

  2. #2

  3. #3

  4. #4
    sto impazzendo

    possibile che non si riesca ad ottenere "semplicemente" il messaggio in utf8?

  5. #5
    non ho capito dove trovi url con query string !

    ma dici nel corpo del messagio ??
    perche negli indirizzi inpossibile trovarlo, no ?

  6. #6
    Originariamente inviato da moty66
    non ho capito dove trovi url con query string !
    ma dici nel corpo del messagio ??

  7. #7
    hai dato un'occhiata a http://it2.php.net/manual/it/function.imap-utf8.php ?

    imap_utf8 -- Converts MIME-encoded text to UTF-8

  8. #8
    Originariamente inviato da moty66
    hai dato un'occhiata a http://it2.php.net/manual/it/function.imap-utf8.php ?

    imap_utf8 -- Converts MIME-encoded text to UTF-8
    noooooo, sono otto giorni che cerco di convertire in utf o iso, chi avrebbe mai pensato di provare quella funzione

  9. #9
    E' cosi, prova la puoi fammi sapere, ho lavorato pochissimo con imap, ma cerco di aiutarti

  10. #10
    Originariamente inviato da moty66
    E' cosi, prova la puoi fammi sapere, ho lavorato pochissimo con imap, ma cerco di aiutarti


    era ironico certo che l'ho provata, non decoda bene manco quella

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.