2010-07-12 6 views
9

Est-il possible de déclencher un script php lorsqu'un nouvel e-mail arrive sur Google Apps (Gmail)? J'ai trouvé un moyen d'interroger la boîte de réception pour rechercher de nouveaux messages, mais j'aimerais idéalement une solution plus basée sur les événements. Fondamentalement, j'ai besoin d'être exécuté à partir d'un serveur quelque part qui analyserait les nouveaux messages électroniques et se traiterait en fonction du contenu du message.Trigger script PHP sur Nouveau courrier électronique (Google Apps/Gmail)

Répondre

6

La plupart des agents de transfert de courrier vous permettent de mettre dans les filtres qui peuvent traiter le courrier entrant par un programme tel qu'il arrive. SpamAssassin fonctionne de cette façon, par exemple.

Parce que Gmail est hébergé, vous ne pouvez pas faire exactement cela.

La seule réponse réaliste dans ce cas est l'interrogation. Heureusement, Gmail expose à la fois l'accès POP3 et IMAP, donc la vérification devrait être très simple. Il y a quelques comprehensive mail reading libraries là-bas, ou vous pourriez être fou et poke at IMAP directly. Editer: Parce que vous êtes sur Google Apps, il y a aussi an Atom feed of unread messages, bien que vous ayez encore besoin de quelque chose pour interroger le flux, à moins que vous ayez quelque chose de pratique pour faire l'interrogation et déclencher des requêtes. Je me rappelle vaguement quelque chose comme ça existant, mais je ne me rappelle pas ce qu'il appelle ...

+4

Peut-être qu'il pourrait avoir Gmail messages avant de nouvelles (tout en conservant le message comme non lus dans la boîte de réception Gmail) à un autre serveur où il a le contrôle sur les filtres MTA. Cela peut éliminer le besoin d'interrogation. – webbiedave

+0

Oh, c'est un bon aussi. – Charles

+1

Bonne réponse (confirme ce que je pensais) et bonne suggestion (envoi). Je ne peux pas croire que je n'ai pas pensé au bit de transfert. – ggutenberg

1

Il est maintenant possible, en utilisant Google Apps Scripts. Vous devez créer un script et attacher un déclencheur pour qu'il s'exécute toutes les 1 minute environ. Si un nouvel e-mail est trouvé, appelez simplement votre URL.

+0

Mais ce n'est toujours pas déclenché par la réception de mails. – fung

Questions connexes