2012-05-07 6 views
0

Je travaille sur un script de travail Cron qui recueille les e-mails Unseen du serveur Google imap à ma base de données. Mais parfois, certains courriels ne sont pas lus, ils ne sont donc pas sauvegardés dans la base de données. Voici le code:PHP IMAP récupérer des emails UNSEEN à partir du serveur

$connection = imap_open ($imapaddressandbox, $imapuser, $imappassword) 
     or die("Can't connect to '" . $imapaddress . 
     "' as user '" . $imapuser . 
     "' with password '" . $imappassword . 
     "': " . imap_last_error()); 

$m_search=imap_search ($connection, 'UNSEEN'); 
if($m_search === false){ 
email_log("No New Messages "); 
} 

Il coutures comme pour une raison quelconque certains e-mails sont sautées bien qu'ils soient non lus.

Quelqu'un peut-il avoir une idée pourquoi? Juste une note, l'email est comme [email protected], mais en utilisant l'email de google.

Merci

+2

S'il vous plaît ne pas écho le mot de passe dans votre 'die' ... –

+2

Je n'ai pas beaucoup de temps pour le regarder Tout ou tester tout, mais votre "===" pourrait être exagéré. Cela implique que le résultat $ m_search doit être un résultat booléen ET faux. Que fais-tu vrai? – JeremyS

Répondre

0

Essayez

if (!$m_search) { 
    // No new mails found 
} 
1

utilisation

imap_open($incoming_server,$username, $password,FT_PEEK); 
+1

S'il vous plaît ajouter une explication pourquoi vous pensez que cela résout le problème. Dans le cas contraire, il manque de contexte et risque d'être supprimé en raison d'une «qualité médiocre». – lxg

Questions connexes