2010-07-12 22 views
9

C'è un modo per attivare uno script php quando arriva una nuova email su Google Apps (Gmail)? Ho trovato un modo per sondare la posta in arrivo alla ricerca di nuovi messaggi, ma preferirei una soluzione più basata sugli eventi. Fondamentalmente ho bisogno che venga eseguito da un server da qualche parte che analizzerebbe i nuovi messaggi di posta elettronica e si elaborerà in base al contenuto del messaggio.Script PHP trigger su nuova email (Google Apps/Gmail)

risposta

6

La maggior parte degli agenti di trasferimento posta consente di inserire filtri in grado di elaborare la posta in arrivo attraverso un programma non appena arriva. SpamAssassin funziona in questo modo, per esempio.

Poiché Gmail è ospitato, non è possibile farlo esattamente.

L'unica risposta realistica in questo caso è il polling. Fortunatamente Gmail espone sia l'accesso POP3 che IMAP, quindi il controllo dovrebbe essere molto semplice. Ci sono alcuni comprehensive mail reading libraries là fuori, oppure potresti essere pazzo e poke at IMAP directly.

Edit: Perché sei su Google Apps, c'è anche an Atom feed of unread messages, anche se saresti ancora bisogno di qualcosa per interrogare il feed, a meno che non vi capita di avere a portata di mano qualcosa che farà il polling per voi e al fuoco fino richieste. Ricordo vagamente qualcosa del genere, ma non ricordo come si chiama ...

+4

Forse Gmail potrebbe inoltrare nuovi messaggi (mantenendo anche il messaggio come non letto nella Posta in arrivo di Gmail) su un altro server in cui ha il controllo sui filtri MTA. Questo potrebbe eliminare la necessità di sondare. – webbiedave

+0

Oh, anche questo è buono. – Charles

+1

Buona risposta (conferma quello che stavo pensando) e buon suggerimento (inoltro). Non posso credere di non aver pensato al pezzo da spedire. – ggutenberg

1

Ora è possibile, usando Google Apps Scripts. Devi creare uno script e collegare un trigger ad esso per eseguire ogni 1 minuto circa. Se viene trovata una nuova email, invoca il tuo URL.

+0

Ma non è ancora attivato dalla ricezione di mail. – fung