Frage

Ein neues Feature, das ich zu unserem lokalen Netzwerk hinzufügen möchte, ist die Fähigkeit, E-Mail von kostenlosen E-Mail-Dienste wie Google Mail, Yahoo und Hotmail mit PHP abzurufen. Es gibt Dienste, die wir bezahlen können, aber ich würde es eher zerhacken mich!

Ich finde, dass Google nur eine API hat, aber der Rest nicht. Was sind die Probleme dann mit mir nur E-Mail-Abruf CURL mit?

Ich habe sogar den GMail Teil mit CURL und PHP implementiert.

War es hilfreich?

Lösung

Es ist fast sicher gegen ihre Nutzungsbedingungen zu Bildschirm-kratzen ihre Websites für diesen Zweck. Wenn sie Ihre Website neu zu gestalten, die Skripte verwenden Sie die E-Mail-Inhalte usw. wahrscheinlich katastrophal zu analysieren, brechen, wie gut.

Yahoo, Google Mail und Hotmail alle Unterstützung POP3 , ein Standardprotokoll für das Abrufen von E Mails. Warum das nicht stattdessen verwenden?

Andere Tipps

Wenn Ihnen jemand eine API gibt, sind sie Ihnen viel versprechend, dass „wenn Sie Code X ausführen, wird Y passieren. Wenn Sie schaben Bildschirm, gibt es keine solche Zusage vom Provider, und viele Anbieter haben Einzelteile in ihren Nutzungsbedingungen ausdrücklich, dass Screen Scraping verbieten. Aus technischer Sicht bedeutet dies, ihre Seite / Applikation können Änderungen erfahren, die Ihren Screen Scraping brechen wird, verkümmern versehentlichen oder gezielt vom Anbieter. Aus diesem Grund CAPTCHA exist.

Auch in zunehmendem Maße diese Anwendungen mehr und mehr „AJAX“ Stil-Architekturen verwenden, was bedeutet, dass Sie verpflichten sich Reverse Engineering, wie ihre Anwendung funktioniert, sowie mit den Veränderungen Schritt zu halten jede Anwendung macht.

Schließlich, na ja, Sie tun es falsch. E-Mail ist ein Satz von Protokollen an und für sich. Die meisten Anbieter haben eine Möglichkeit, E-Mails über POP3 und IMAP zugreifen. Ich würde schauen in PHP-Code-Hacking mit dem POP / IMAP-Server wie eine API, die zu interagieren, eine versprochene Reihe von Verhaltensweisen sind. Sie haben auch den Vorteil, dass Code für einen Provider geschrieben wird funktioniert wahrscheinlich (mit geringfügigen Verbesserungen) für eine andere.

Ich nehme an, Sie haben einen Grund für die nicht das Pop-Protokoll, das die unterstützten Standardmethode ist E-Mail abzurufen. Um es zu machen, wie Sie wollen, dass es etwas ist, das nicht unterstützt wird und vielleicht auch nicht durch die Nutzungsbedingungen der Anbieter abgedeckt werden.

Aber wenn keine Captcha-Lösung in den Weg kommt es technisch möglich ist. Sie werden eine andere Anwendung für jeden Anbieter zu schreiben. Im Fall, dass sie etwas ändern müssen Sie Ihre Anwendung übernehmen.

Um es mit funktioniert curl sicher sein, die Cookies alles, was sie auf allen Seiten geben Sie zu sammeln und sie in jeder Anfrage zurückzukehren.

Im Fall von Problemen (und auch für die Entwicklung) können Sie die HTTP-Anfragen und Antworten mit einigem Werkzeug (z Proxomitron auf Fenster) analysieren und die Curl-Anfragen mehr machen und mehr sehen genauso aus wie die Browser-Anfragen, bis Sie Erfolg hat. Am Ende gibt es nichts, was sie tun können, um curl Anfragen von menschlichen Anfragen über einen Browser zu unterscheiden. Außer captcha wie ich schon sagte.

Eine andere Sache, die Intervalle zwischen Ihren Wünschen ist, Ihnen für Ihr Interesse an häufig blockiert werden könnte oder wenn es keine Pause zwischen zwei Anfragen (was ein Mensch kann nicht tun). Versuchen Sie das Einfügen zufällig geändert Pausen zwischen den Anforderungen, wenn Sie vermuten, dass dieses.

Ich kann mir vorstellen, sie blockieren Ihre Konten oder IPs während der Entwicklung, in diesem Fall wäre es notwendig, die IP zu ändern und / oder das Konto, das Sie arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top