[Сценарий] Проверка GMail

Не требует установки программ или изменения файлов

Модераторы: immortal, newz20

Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Проверка GMail

Сообщение Amarok » Сб дек 07, 2013 2:41 pm

Апну тему
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
ksgroup
Сообщения: 135
Зарегистрирован: Ср дек 19, 2012 10:35 am
Откуда: Ukraine/Kiev
Благодарил (а): 7 раз
Поблагодарили: 14 раз

Re: Проверка GMail

Сообщение ksgroup » Вт дек 10, 2013 4:49 pm

BlackWarrior писал(а):Апну тему
Ну так я ж тебе уже дал рецептик у меня работающий. Ты б и с народом поделился, а то мне некогда писАть. Революцией мы занимаемся :)
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Проверка GMail

Сообщение Amarok » Ср дек 11, 2013 4:42 am

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
ksgroup
Сообщения: 135
Зарегистрирован: Ср дек 19, 2012 10:35 am
Откуда: Ukraine/Kiev
Благодарил (а): 7 раз
Поблагодарили: 14 раз

Re: Проверка GMail

Сообщение ksgroup » Ср дек 11, 2013 9:58 am

Нашел пару минут времени и решил описать мой вариант. BlackWarrior уже опубликовал мой ответ на его вопрос в личке, а я опишу более развернуто. У меня МД установлен на UBUNTU поэтому я создал шелл скрипт которій запускается раз в 5 минут кроном. Вот текст скрипта:

Код: Выделить всё

#!/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
Как видите все просто - скрипт загружает XML страницу и с помощью регулярных выражений извлекает из него цифру сообщающую количество непрочитанных писем. Потом эта цифра загружается в переменную NotRead объекта GMail_dima с помощью вызова метода check.
Таким образом имеем в переменной GMail_dima.NotRead информацию о количестве непрочитанных писем в ящике пятиминутной "свежести" :)
Уверен можно сделать то же самое и в виде скрипта МД. Думаю для этого будет достаточно загрузить данные и распарсить их в PHP, но это вы сделаете уже сами :) Мне достаточно и моего варианта.
Всем удачных экспериментов.
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Проверка GMail

Сообщение Amarok » Сб дек 14, 2013 1:15 pm

Пытаюсь оформить совет данный 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
ksgroup
Сообщения: 135
Зарегистрирован: Ср дек 19, 2012 10:35 am
Откуда: Ukraine/Kiev
Благодарил (а): 7 раз
Поблагодарили: 14 раз

Re: Проверка GMail

Сообщение ksgroup » Вс дек 15, 2013 5:51 pm

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
И всё... Куда копать?
Однозначно сложно сказать - нужно разбираться. Я не силен в английском но мне кажется что система жалуется что в твоем PHP не хватает модуля SSL. А возможно как то неправильно строится строка запроса. Попробуй как то посмотреть переменную $data_file после ее формирования. Возможно как то неправильно в строку вставляются логин и пароль. Еще я бы попробовал просто набрать в адресной строке браузера строку запроса к серверу почты гугла. Если выдаст XML страницу нормально то уже искать проблемы в PHP или в самом скрипте.
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Проверка GMail

Сообщение Amarok » Ср дек 18, 2013 8:18 am

Скрипт работает.

Код: Выделить всё

$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);
Для корректной работы находим в php.ini строку extension=php_openssl.dll и снимаем комментарий (убираем ;)
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
ksgroup
Сообщения: 135
Зарегистрирован: Ср дек 19, 2012 10:35 am
Откуда: Ukraine/Kiev
Благодарил (а): 7 раз
Поблагодарили: 14 раз

Re: Проверка GMail

Сообщение ksgroup » Ср дек 18, 2013 10:13 am

Ну вот и решили вопрос. Еще одним удобством стало больше :)
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
kostya77
Сообщения: 136
Зарегистрирован: Вт ноя 12, 2013 8:29 pm
Благодарил (а): 2 раза
Поблагодарили: 8 раз

Re: Проверка GMail

Сообщение kostya77 » Ср дек 18, 2013 7:15 pm

Вопрос, а в какой папке можно найти php.ini ?
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Проверка GMail

Сообщение Amarok » Чт дек 19, 2013 5:16 am

kostya77 писал(а):Вопрос, а в какой папке можно найти php.ini ?
_majordomo\server\php\ и _majordomo\server\config_tpl\
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Ответить