[Сценарий] Проверка GMail
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Проверка GMail
Апну тему
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 135
- Зарегистрирован: Ср дек 19, 2012 10:35 am
- Откуда: Ukraine/Kiev
- Благодарил (а): 7 раз
- Поблагодарили: 14 раз
Re: Проверка GMail
Ну так я ж тебе уже дал рецептик у меня работающий. Ты б и с народом поделился, а то мне некогда писАть. Революцией мы занимаемсяBlackWarrior писал(а):Апну тему
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Проверка GMail
Рецептик еще не сваял(ksgroup писал(а):Ну так я ж тебе уже дал рецептик у меня работающий. Ты б и с народом поделился, а то мне некогда писАть. Революцией мы занимаемсяBlackWarrior писал(а):Апну тему
Но ответом твоим по-делюсь:
ksgroup писал(а):Есть в корпорации счастья XML страничка https://LOGIN:PASSWORD@mail.google.com/mail/feed/atom - вот с ее помощью и получаю данные. Поскольку система у меня стоит на Linux то скрипт я сделал не в МД а просто в шеле и запускаю его кроном раз в 5 минут. Но не проблема и в МД сделать с помощью курла и обработчика XML. Там кстати есть не только количество писем а и заголовки к ним
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 135
- Зарегистрирован: Ср дек 19, 2012 10:35 am
- Откуда: Ukraine/Kiev
- Благодарил (а): 7 раз
- Поблагодарили: 14 раз
Re: Проверка GMail
Нашел пару минут времени и решил описать мой вариант. BlackWarrior уже опубликовал мой ответ на его вопрос в личке, а я опишу более развернуто. У меня МД установлен на UBUNTU поэтому я создал шелл скрипт которій запускается раз в 5 минут кроном. Вот текст скрипта:
Как видите все просто - скрипт загружает XML страницу и с помощью регулярных выражений извлекает из него цифру сообщающую количество непрочитанных писем. Потом эта цифра загружается в переменную NotRead объекта GMail_dima с помощью вызова метода check.
Таким образом имеем в переменной GMail_dima.NotRead информацию о количестве непрочитанных писем в ящике пятиминутной "свежести"
Уверен можно сделать то же самое и в виде скрипта МД. Думаю для этого будет достаточно загрузить данные и распарсить их в PHP, но это вы сделаете уже сами Мне достаточно и моего варианта.
Всем удачных экспериментов.
Код: Выделить всё
#!/bin/bash
NUMB=`wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - https://LOGIN:PASSWORD@mail.google.com/mail/feed/atom --no-check-certificate | grep 'fullcount' | sed "s/<fullcount>\(.*\)<\/fullcount>/\1/"`
php /var/majordomo/objects/index.php object:GMail_dima op:m m:check NotRead:$NUMB
exit 0
Таким образом имеем в переменной GMail_dima.NotRead информацию о количестве непрочитанных писем в ящике пятиминутной "свежести"
Уверен можно сделать то же самое и в виде скрипта МД. Думаю для этого будет достаточно загрузить данные и распарсить их в PHP, но это вы сделаете уже сами Мне достаточно и моего варианта.
Всем удачных экспериментов.
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Проверка GMail
Пытаюсь оформить совет данный ksgroup в скрипт.
Создал на примере "погоды от Яндекс" вот такой скриптик:
Запускаю, а оно мне в ответ:
Создал на примере "погоды от Яндекс" вот такой скриптик:
Код: Выделить всё
$user = getGlobal('Amarok.GMailAcc'); // имя пользователя
$pass = getGlobal('Amarok.GMailPass'); // пароль
$data_file="http://$user:$pass@mail.google.com/mail/feed/atom";
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
$unread=$xml->fullcount;
echo $unread;
И всё... Куда копать?Request: &script=ChkGMail Running script: ChkGMail
Warning: simplexml_load_file(http://...@mail.google.com/mail/feed/atom) [function.simplexml-load-file]: failed to open stream: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? in D:\_majordomo\htdocs\modules\scripts\scripts.class.php(139) : eval()'d code on line 4
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://логин:пароль@mail.google.com/mail/feed/atom" in D:\_majordomo\htdocs\modules\scripts\scripts.class.php(139) : eval()'d code on line 6
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 135
- Зарегистрирован: Ср дек 19, 2012 10:35 am
- Откуда: Ukraine/Kiev
- Благодарил (а): 7 раз
- Поблагодарили: 14 раз
Re: Проверка GMail
Однозначно сложно сказать - нужно разбираться. Я не силен в английском но мне кажется что система жалуется что в твоем PHP не хватает модуля SSL. А возможно как то неправильно строится строка запроса. Попробуй как то посмотреть переменную $data_file после ее формирования. Возможно как то неправильно в строку вставляются логин и пароль. Еще я бы попробовал просто набрать в адресной строке браузера строку запроса к серверу почты гугла. Если выдаст XML страницу нормально то уже искать проблемы в PHP или в самом скрипте.BlackWarrior писал(а):Пытаюсь оформить совет данный ksgroup в скрипт.
Создал на примере "погоды от Яндекс" вот такой скриптик:Запускаю, а оно мне в ответ:Код: Выделить всё
$user = getGlobal('Amarok.GMailAcc'); // имя пользователя $pass = getGlobal('Amarok.GMailPass'); // пароль $data_file="http://$user:$pass@mail.google.com/mail/feed/atom"; $xml = simplexml_load_file($data_file); // раскладываем xml на массив $unread=$xml->fullcount; echo $unread;
И всё... Куда копать?Request: &script=ChkGMail Running script: ChkGMail
Warning: simplexml_load_file(http://...@mail.google.com/mail/feed/atom) [function.simplexml-load-file]: failed to open stream: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? in D:\_majordomo\htdocs\modules\scripts\scripts.class.php(139) : eval()'d code on line 4
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://логин:пароль@mail.google.com/mail/feed/atom" in D:\_majordomo\htdocs\modules\scripts\scripts.class.php(139) : eval()'d code on line 6
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Проверка GMail
Скрипт работает.
Для корректной работы находим в php.ini строку extension=php_openssl.dll и снимаем комментарий (убираем ;)
Код: Выделить всё
$user = getGlobal('Amarok.GMailAcc'); // имя пользователя
$pass = getGlobal('Amarok.GMailPass'); // пароль
$data_file="https://$user:$pass@mail.google.com/mail/feed/atom";
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
$unread=$xml->fullcount;
sg('Amarok.GMailUnread',$unread);
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 135
- Зарегистрирован: Ср дек 19, 2012 10:35 am
- Откуда: Ukraine/Kiev
- Благодарил (а): 7 раз
- Поблагодарили: 14 раз
Re: Проверка GMail
Ну вот и решили вопрос. Еще одним удобством стало больше
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Проверка GMail
_majordomo\server\php\ и _majordomo\server\config_tpl\kostya77 писал(а):Вопрос, а в какой папке можно найти php.ini ?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165