Domanda

Una nuova caratteristica desidero aggiungere alla nostra rete locale, è la possibilità di recuperare le e-mail da servizi di posta elettronica gratuiti come Gmail, Yahoo e Hotmail utilizzando PHP. Ci sono servizi che possiamo pagare, ma avrei preferito incidere in su me stesso!

Trovo che Google ha solo un'API, ma il resto non lo fanno. Quali sono i problemi associati poi con me solo il recupero di posta elettronica utilizzando CURL?

Ho anche implementato la parte GMail utilizzando CURL e PHP.

È stato utile?

Soluzione

E 'viola quasi certamente loro termini di servizio di screen-raschiare i loro siti web a tal fine. Se ridisegnare il vostro sito, gli script che si sta utilizzando per analizzare il contenuto di e-mail, ecc probabilmente romperà catastroficamente, pure.

Yahoo, Gmail, Hotmail e tutto il supporto POP3 , un protocollo standard per il recupero di e- mail. Perché non usare che invece?

Altri suggerimenti

Quando qualcuno ti dà un'API, stanno promettendo che "se si esegue il codice X, Y accadrà. Quando si screen scraping, non c'è tale promessa dal provider, e molti fornitori di avere elementi nei loro termini di servizio che vieta esplicitamente screen scraping. dal punto di vista tecnico, questo significa che la loro pagina / applicazione potrebbe subire modifiche che si romperà il vostro screen scraping, appassire accidentalmente o di proposito da parte del fornitore. questo è il motivo per cui esistono di CAPTCHA.

Inoltre, sempre più spesso, queste applicazioni stanno utilizzando sempre più "Ajax" architetture di stile, che significa che stai impegnarsi al reverse engineering come le loro funzionamento dell'applicazione, oltre a mantenere il passo con i cambiamenti ogni applicazione fa.

Infine, bene, si sta facendo male. La posta elettronica è un insieme di protocolli di per sé. La maggior parte dei fornitori hanno un modo per accedere all'e-mail via POP3 e IMAP. Mi piacerebbe guardare in violazione al sistema il codice PHP per interagire con i server POP / IMAP che, come un'API, sono un insieme di comportamenti promesso. Lei ha anche il vantaggio che il codice scritto per un provider probabilmente funzionerà (con piccoli aggiustamenti) per un altro.

I suppone che si abbia una ragione per non usare il protocollo POP, che è il modo standard supportato per recuperare le e-mail. Per farlo come si vuole è qualcosa che non è supportato e forse anche non essere coperti dai termini di utilizzo dei provider.

Ma se nessuno solving captcha viene nel vostro modo è tecnicamente possibile. Si dovrà scrivere un'applicazione diversa per ogni fornitore. Nel caso in cui cambiano qualcosa si dovrà adottare la vostra applicazione.

Per farlo funzionare con l'arricciatura essere sicuri di raccogliere tutti i cookie che ti danno in tutte le pagine e di restituirli in ogni richiesta.

In caso di problemi (e anche per lo sviluppo) è possibile analizzare le richieste HTTP e risposte con qualche strumento (ad esempio Proxomitron su Windows) e fare le richieste ricciolo sempre più apparire esattamente come le richieste del browser fino a quando si riesce. Alla fine non c'è nulla che possano fare per distinguere le richieste Curl da richieste umani attraverso un browser. Tranne captcha come ho detto prima.

Un'altra cosa è gli intervalli fra le vostre richieste, si potrebbe ottenere bloccato per la richiesta di frequenza o quando non c'è pausa tra 2 richieste (che un essere umano non può fare). Provare a inserire pause modificati in modo casuale tra le richieste Se ritieni che questo.

Posso immaginare che bloccano gli account o IP durante lo sviluppo, in questo caso sarebbe necessario cambiare la IP e / o l'account si lavora.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top