Страница 1 из 4

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

Добавлено: Вт ноя 19, 2013 9:40 am
Amarok
Натыкался в проекте CONNECT на вывод в меню Алисы количества непрочитанных сообщений в GMail; поделитесь скриптиком?

Re: Проверка GMail

Добавлено: Пт ноя 22, 2013 4:40 am
Amarok
up

Re: Проверка GMail

Добавлено: Пт ноя 22, 2013 12:27 pm
kostya77
Если решил то подскажи как .

Re: Проверка GMail

Добавлено: Пт ноя 22, 2013 12:31 pm
Amarok
kostya77 писал(а):Если решил то подскажи как .
Увы(
Может, гуру подскажут?

Re: Проверка GMail

Добавлено: Пт ноя 22, 2013 1:40 pm
sergejey
Пользуемся гуглом и находим готовые рецепты :)
Вот к примеру можно сделать такой сценарий и запускать его переодически:

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

$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'username'; // имя пользователя (лучше брать из объекта, например через getGlobal('GMailUsername'); -- на случай публикации через CONNECT, что б не светить)
$password = 'password'; // пароль (аналогично)

    $mbox = imap_open($host, $login, $passwd);
    $count = 0;
    if (!$mbox) {
        echo "Error"; //ошибка доступа
        return;
    } else {
        $headers = imap_headers($mbox);
        foreach ($headers as $mail) {
            $flags = substr($mail, 0, 4);
            $isunr = (strpos($flags, "U") !== false);
            if ($isunr)
            $count++;
        }
    }
    imap_close($mbox);

setGlobal('GMail_Unread',$count); // здесь устанавливаем полученное значение в объект


Re: Проверка GMail

Добавлено: Пт ноя 22, 2013 2:38 pm
Amarok
Создал скрипт:

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

$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = getGlobal('Amarok.GMailAcc'); // имя пользователя (лучше брать из объекта, например через getGlobal('GMailUsername'); -- на случай публикации через CONNECT, что б не светить)
$password = getGlobal('Amarok.GMailPass'); // пароль (аналогично)

    $mbox = imap_open($host, $login, $passwd);
    $count = 0;
    if (!$mbox) {
        echo "Error"; //ошибка доступа
        return;
    } else {
        $headers = imap_headers($mbox);
        foreach ($headers as $mail) {
            $flags = substr($mail, 0, 4);
            $isunr = (strpos($flags, "U") !== false);
            if ($isunr)
            $count++;
        }
    }
    imap_close($mbox);

setGlobal('Amarok.GMailUnread',$count); // здесь устанавливаем полученное значение в объект
А он мне: Fatal error: Call to undefined function imap_open() in D:\_majordomo\htdocs\modules\scripts\scripts.class.php(138) : eval()'d code on line 5

Re: Проверка GMail

Добавлено: Пт ноя 22, 2013 3:05 pm
sergejey
Надо расскомментировать строчку
extension=php_imap.dll
в файле
C:\_majordomo\server\config_tpl\php.ini

Изображение

и перезапустить MajorDoMo

Re: Проверка GMail

Добавлено: Сб ноя 23, 2013 9:04 am
Amarok
sergejey писал(а):Надо расскомментировать строчку
extension=php_imap.dll
в файле
C:\_majordomo\server\config_tpl\php.ini
и перезапустить MajorDoMo
Не помогло :cry:

Re: Проверка GMail

Добавлено: Сб ноя 23, 2013 3:13 pm
sergejey
Странно... ошибка такая же описана здесь http://stackoverflow.com/questions/9654 ... pen-in-php
и решение такое же. А точно система перезапускалась? (вместе с сервером)

Re: Проверка GMail

Добавлено: Вс ноя 24, 2013 11:00 am
Amarok
sergejey писал(а):Странно... ошибка такая же описана здесь http://stackoverflow.com/questions/9654 ... pen-in-php
и решение такое же. А точно система перезапускалась? (вместе с сервером)
Угу. :cry: