2009-03-24 4 views
1

En utilisant PHP 5.2.0-8 + etch13 sur un serveur LeaseWeb, j'ai un code qui traite un fichier envoyé par e-mail à une certaine adresse en ramassant l'email via imap. J'appelle imap_open (vérifiant les erreurs et n'en trouvant aucun), obtiens le nombre de messages par imap_num_msg, et regarde par-dessus puis appelle imap_header sur chacun. Tout fonctionne sans erreurs.imap_header, recent = N, unseen = "" ... mais je ne l'ai pas encore lu

Je vérifie ensuite if ('U' == $header->Unseen || 'N' == $header->Recent). Cela fonctionne correctement avec le même code sur un serveur partagé ModWest, mais ne trouve pas de nouveaux messages sur les serveurs Leaseweb et ModWest VPS. Un print_r d'un e-mail test envoyé juste avant l'exécution du code a l'en-tête montrant ...

stdClass Object 
(
    [date] => Tue, 24 Mar 2009 17:57:55 +0100 
    [Date] => Tue, 24 Mar 2009 17:57:55 +0100 
    [subject] => Data 200903 
    [Subject] => Data 200903 
    [in_reply_to] => <[email protected]> 
    [message_id] => <[email protected]> 
    [references] => <[email protected]> <[email protected]> 
    [toaddress] => [email protected] 
    [to] => Array 
     (
      [0] => stdClass Object 
       (
        [mailbox] => data 
        [host] => example.com 
       ) 

     ) 

    [fromaddress] => "me" <[email protected]> 
    [from] => Array 
     (
      [0] => stdClass Object 
       (
        [personal] => me 
        [mailbox] => me 
        [host] => example.com 
       ) 

     ) 

    [reply_toaddress] => "me" <[email protected]> 
    [reply_to] => Array 
     (
      [0] => stdClass Object 
       (
        [personal] => me 
        [mailbox] => me 
        [host] => example.com 
       ) 

     ) 

    [senderaddress] => [email protected] 
    [sender] => Array 
     (
      [0] => stdClass Object 
       (
        [mailbox] => me 
        [host] => gmail.com 
       ) 

     ) 

    [Recent] => N 
    [Unseen] => 
    [Flagged] => 
    [Answered] => 
    [Deleted] => 
    [Draft] => 
    [Msgno] => 1 
    [MailDate] => 24-Mar-2009 17:57:55 +0100 
    [Size] => 8802 
    [udate] => 1237913875 
) 
  1. Y at-il quelque chose que je fais qui cause que ce soit « lire »?
  2. Comment puis-je dire qu'il s'agit d'un "nouveau" message.

Merci, Ed

Répondre

0

Juste un coup de feu dans l'obscurité, mais cette méthode pourrait notamment d'accéder aux informations d'en-tête sur cet autre type de serveur être interprété comme lu?