Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: imap php gmail X-GM-THRID
Форумы портала PHP.SU » Разное » Обсуждение статей » imap php gmail X-GM-THRID

Страниц (1): [1]
 

1. Shkur - 18 Апреля, 2011 - 16:16:53 - перейти к сообщению
как расширить стандартные функции imap в php?
2. Мелкий - 18 Апреля, 2011 - 19:02:22 - перейти к сообщению
Варианта 2:
0) написать свои на сокетах
1) отредактировать исходник текущей реализации imap
3. Shkur - 18 Апреля, 2011 - 22:33:25 - перейти к сообщению
Мелкий пишет:
Варианта 2:
0) написать свои на сокетах

[del]не вкурил - поясните пожалуйста[/del] → покурил чуть-чуть, всеже мой выбор в сторону чего-то готового, напр Zend. (хотя и тут тоже как оказалось можно что-то найти например http://packages.ubuntu.com/karmi...et-imap/download )

Мелкий пишет:
1) отредактировать исходник текущей реализации imap

вкурил, но тогда как я понимаю придется переустанавливать сам php? хостинг виртуальный - не дадут...

как вариант 2) поковырять zend - там можно fetch и кастомные комманды.

вообще может есть более простой способ пользоваться imap расширениями сервера?
мне нужно чтобы скрипт ломился в gmail, находил письма SEARCH, а вернее их threadid чтобы потом можно было в базу пихнуть ссылку в базу на конкретную цепочку писем в gmail.

вот что на чем я остановился: http://stackoverflow[dot]com/questio[dot][dot][dot]/5699922#5699922

Цитата:
Found something. May be someone need. I don't know how to use ruby, I want use php, but don't know how to extend standart imap functions in php.
CODE (htmlphp):
скопировать код в буфер обмена
  1. openssl s_client -crlf -connect imap.gmail.com:993
  2. . login username password
  3. . select inbox
  4. . FETCH 1 (X-GM-THRID)
  5. //you'll get something like this
  6. * 1 FETCH (X-GM-THRID 1327644190303473294)
  7. //next you'll need to convert it from decimal to hexadecimal value:

PHP:
скопировать код в буфер обмена
  1. <?PHP echo dechex(1327644190303473294); ?> //return 126cbd5b5f264e8e


P.S. Чую это будет не просто... Не понял
4. Мелкий - 19 Апреля, 2011 - 11:20:11 - перейти к сообщению
Shkur пишет:
не вкурил - поясните пожалуйста

Самостоятельно реализовать весь протокол. Благо IMAP не сложный и открытый.
Функции потоков http://ru.php.net/manual/en/book.stream.php и сокетов http://php.su/functions/?cat=sockets дают возможность реализовать любой прикладной протокол.
5. Shkur - 20 Апреля, 2011 - 20:58:30 - перейти к сообщению
Я правильно понимаю, что
Мелкий пишет:
отредактировать исходник текущей реализации imap

гораздо сложнее, чем "допилить" zend или php-net-imap?
Вообще мне нужно воспользоваться расширениями imap сервера, но в стандартных функциях я ни чего не нашел. Может подскажете более простой путь? Улыбка
CODE (htmlphp):
скопировать код в буфер обмена
  1. * CAPABILITY IMAP4rev1 UNSELECT LITERAL+ IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT1


X-GM-EXT1 - это расширение в gmail, через которое можно узнать treadid (id цепочки писем)
чтобы потом это значение можно было подставить в URL. Например:
https://mail.google.com/mail/u/0/?ui=2&shva=1#inbox/12f72eаd23003b08
6. Shkur - 18 Сентября, 2011 - 23:10:26 - перейти к сообщению
ну что же у меня появилось время. Вот что получилось (может кому-то понадобится):
используем ZEND framework. а именно
Zend/Mail/Protocol/Imap.php
и класс расширения, который я написал:
shkurIMAPclassExtendsZendProtocolImap.php (Отобразить)


ну и собственно сам скрипт:
php-imap-gmail.php (Отобразить)

P.S. Выложил на блоггере http://mrshkur[dot]blogspot[dot]com/ там чуть пошире строки - удобнее читать

 

Powered by ExBB FM 1.0 RC1