Какие проблемы связаны с получением электронной почты с помощью CURL?

StackOverflow https://stackoverflow.com/questions/740791

Вопрос

Новая функция, которую я хотел бы добавить в нашу локальную сеть, - это возможность получать электронную почту из бесплатных почтовых сервисов, таких как Gmail, Yahoo и Hotmail, используя PHP.Есть услуги, за которые мы можем заплатить, но я бы предпочел взломать их сам!

Я обнаружил, что у Google есть только API, а у остальных его нет. Какие проблемы связаны тогда со мной, просто получающим электронную почту с помощью CURL?

Я даже реализовал часть GMail, используя CURL и PHP.

Это было полезно?

Решение

Это почти наверняка нарушает их условия предоставления услуг по очистке их веб-сайтов для этой цели.Если они переделают ваш сайт, скрипты, которые вы используете для разбора содержимого электронной почты и т.д.вероятно, также катастрофически сломается.

Yahoo, Gmail и Hotmail поддерживают все ПОП3, стандартный протокол для получения электронных писем.Почему бы не использовать это вместо этого?

Другие советы

Когда кто-то предоставляет вам API, они обещают вам, что "если вы запустите код X, произойдет Y ".Когда вы выполняете очистку экрана, поставщик не дает такого обещания, и многие поставщики имеют в своих условиях предоставления услуг пункты, явно запрещающие очистку экрана.С технической точки зрения это означает, что их страница / приложение может претерпеть изменения, которые нарушат очистку вашего экрана, будут удалены поставщиком случайно или целенаправленно.Вот почему существуют КАПЧИ.

Кроме того, эти приложения все чаще используют архитектуры в стиле AJAX, что означает, что вы берете на себя обязательства по обратному проектированию того, как работает их приложение, а также следите за изменениями, вносимыми каждым приложением.

Наконец, ну, ты делаешь это неправильно.Электронная почта - это набор протоколов сама по себе.У большинства провайдеров есть способ доступа к электронной почте через POP3 и IMAP.Я бы изучил возможность взлома PHP-кода для взаимодействия с серверами POP / IMAP, которые, как и API, представляют собой обещанный набор поведений.У вас также есть то преимущество, что код, написанный для одного поставщика, скорее всего, будет работать (с незначительными изменениями) для другого.

Я предполагаю, что у вас есть причина не использовать протокол pop, который является поддерживаемым стандартным способом получения электронной почты.Делать это так, как вы хотите, - это то, что не поддерживается и, возможно, также не подпадает под условия использования поставщиков.

Но если вам не помешает разгадка капчи, это технически возможно.Вам придется написать другое приложение для каждого поставщика.В случае, если они что-то изменят, вам придется принять ваше заявление.

Чтобы заставить его работать с curl, обязательно собирайте все файлы cookie, которые они предоставляют вам на всех страницах, и возвращайте их при каждом запросе.

В случае возникновения каких-либо проблем (а также для разработки) вы могли бы проанализировать http-запросы и ответы с помощью какого-либо инструмента (напримерproxomitron в Windows) и заставляйте запросы curl все больше и больше выглядеть точно так же, как запросы браузера, пока вы не добьетесь успеха.В конце концов, они ничего не могут сделать, чтобы отличить ваши запросы curl от человеческих запросов через браузер.За исключением captcha, как я уже говорил ранее.

Другое дело, что интервалы между вашими запросами могут быть заблокированы за частые запросы или когда между двумя запросами нет паузы (чего человек не может сделать).Попробуйте вставить случайно измененные паузы между запросами, если вы подозреваете это.

Я могу представить, что они блокируют ваши учетные записи или IP-адреса во время разработки, в этом случае было бы необходимо изменить IP и / или учетную запись, с которой вы работаете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top