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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: imap php gmail X-GM-THRID

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: как расширить стандартные функции imap в php
Shkur
Отправлено: 18 Апреля, 2011 - 16:16:53
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




как расширить стандартные функции imap в php?
 
 Top
Мелкий Супермодератор
Отправлено: 18 Апреля, 2011 - 19:02:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




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


-----
PostgreSQL DBA
 
 Top
Shkur
Отправлено: 18 Апреля, 2011 - 22:33:25
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Мелкий пишет:
Варианта 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. Чую это будет не просто... Не понял

(Отредактировано автором: 19 Апреля, 2011 - 11:51:02)

 
 Top
Мелкий Супермодератор
Отправлено: 19 Апреля, 2011 - 11:20:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Shkur пишет:
не вкурил - поясните пожалуйста

Самостоятельно реализовать весь протокол. Благо IMAP не сложный и открытый.
Функции потоков http://ru.php.net/manual/en/book.stream.php и сокетов http://php.su/functions/?cat=sockets дают возможность реализовать любой прикладной протокол.


-----
PostgreSQL DBA
 
 Top
Shkur
Отправлено: 20 Апреля, 2011 - 20:58:30
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Я правильно понимаю, что
Мелкий пишет:
отредактировать исходник текущей реализации 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
 
 Top
Shkur
Отправлено: 18 Сентября, 2011 - 23:10:26
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




ну что же у меня появилось время. Вот что получилось (может кому-то понадобится):
используем ZEND framework. а именно
Zend/Mail/Protocol/Imap.php
и класс расширения, который я написал:
shkurIMAPclassExtendsZendProtocolImap.php (Отобразить)


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

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

(Отредактировано автором: 19 Сентября, 2011 - 14:03:44)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Обсуждение статей »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB