Помогите с чтением gmail сообщения с php - PullRequest
0 голосов
/ 25 июня 2009

Мне нужно читать письма из gmail, но я не могу подключиться к серверу gmail pop3 Может ли кто-нибудь помочь мне здесь?

Вот код:

$pop3 = new POP3;
$pop3->server = 'pop.gmail.com';
$pop3->user = 'username';
$pop3->passwd = 'password';
$pop3->debug = true;
$pop3->pop3_connect()

Результат:

Warning: fsockopen() [function.fsockopen]: unable to connect to pop.gmail.com:110 (Connection timed out) in /public_html/cron/pop3.php on line 64

Спасибо

Ответы [ 4 ]

1 голос
/ 25 июня 2009

Согласно этой странице ( подключение к Gmail с помощью Outlook Express ), вы должны использовать порт 995 для доступа POP3 к Gmail, и более того, SSL должен быть включен.

Википедия также утверждает это :

Почтовые клиенты могут шифровать трафик POP3 с использованием безопасности транспортного уровня (TLS) или уровня защищенных сокетов (SSL). Соединение TLS / SSL определяется с помощью команды STLS. Некоторые клиенты и серверы, такие как Google Gmail, вместо этого используют устаревший метод альтернативного порта, который использует TCP-порт 995 (POP3S).

0 голосов
/ 25 июня 2009

Я думаю, что на ваш электронный адрес есть два простых варианта:

  • Подача атома Cron, как говорит Кибби. Но тогда у вас будет небольшая задержка между отправкой сообщения и его получением.

  • Используйте http://smtp2web.com/, который опубликует вашу электронную почту на вашем сайте, что означает гораздо более короткую задержку. Неприкосновенность частной жизни не должна быть решающей, потому что ваша почта будет проходить через промежуточное звено.

0 голосов
/ 25 июня 2009

Я не знаю, какой класс вы используете, но, например, использование пакета Даниэля Лемоса показано ниже. Ключом является выбор правильного порта (995) и правильного метода шифрования (для TLS установлено значение true для любого используемого вами пакета pop3). Например, вы можете использовать что-то вроде ниже, чтобы инициировать соединение. Не большой поклонник того, как этот класс спроектирован, или пример кода (много вложенных операторов if), но он выполняет свою работу.

$pop3=new pop3_class();
$apop=0;
$pop3->authentication_mechanism="USER";
$pop3->debug=0;
$pop3->html_debug=1;
$pop3->join_continuation_header_lines=1;
$pop3->hostname = "pop.gmail.com";
$pop3->port = 995; // The port that gmail uses...
$pop3->tls = 1; // This is encryption
$user = "someuser";
$password = "some password";

if( !empty($error=$pop3->Open()) ){
    die( "Something terrible happened..." );
}

$pop3->Login($user,$password,$apop);
0 голосов
/ 25 июня 2009

Я не уверен, поможет ли это вам, но GMAIL имеет ATOM feed . Я написал PHP-скрипт для загрузки Atom Feed, используя CURL, чтобы я мог проверить свою электронную почту на своем устаревшем сотовом телефоне, который поддерживает только очень простой HTML. Таким образом, в зависимости от того, что вы хотите сделать, может быть проще загрузить и обработать ленту ATOM, чем подключиться к серверу POP.

...