Как читать электронные письма с удаленного сервера Lotus Notes 8.5.3 с помощью PHP

Я пытаюсь прочитать электронные письма Lotus Notes 8.5.3 с удаленного сервера с помощью кода PHP.

Когда я читал электронные письма из Gmail, используя приведенный ниже код, это выглядело довольно прямолинейно. Но тот же код не подключался к Lotus Notes, хотя удаленный сервер поддерживал POP3 на порту 110 (я могу получить доступ к электронной почте в веб-браузере, я думаю, что это режим Web Access Lite)

<?php
    class Email_reader {
        // server connection
        public $conn;
        private $server = "{imap.gmail.com:993/imap/ssl/novalidate-cert/norsh}Inbox";
        private $user   = '[email protected]';
        private $pass   = '123';

        function __construct() {
            $this->connect();
        }

        function close() {       
            imap_close($this->conn);
        }

        function connect() {
            try {
                $this->conn = imap_open($this->server, $this->user, $this->pass) or die("Can't connect to:'$this->server': " . imap_last_error());
                echo 'If you see this, we got IMAP working';
            }
            catch(Exception $e) {
                echo 'error Message: ' .$e->getMessage();
            }
        }
    }

    $obj = new Email_reader();
    echo "-------------------------00-------------------------";
    $obj->close();
?>

Я пробовал форматы URL-адресов сервера diff в приведенном выше коде:

{server.com:110/pop3}INBOX

{server.com:110/pop3/novalidate-cert}INBOX

Может кто-нибудь указать мне,

  • если мне что-то не хватает в приведенном выше коде
  • Могу ли я вообще не получить таким образом доступ к электронной почте Lotus Notes? Итак, как к ним можно получить доступ из PHP?
  • Если это невозможно с PHP, я открыт для выбора других языков программирования, но это должно быть с удаленного сервера (Linux).
  • Если есть хорошие ссылки / пример кода, это было бы здорово

Спасибо.


person NBhat    schedule 29.07.2015    source источник
comment
добавление нескольких дополнительных деталей: я должен читать электронные письма моего клиента Lotus Notes как часть решения, которое я придумываю. Это приложение будет на Linux, внешнем сервере, и у меня нет Lotus Notes / Domino, установленного локально, где это приложение работает.   -  person NBhat    schedule 30.07.2015


Ответы (1)


Domino Web Access Lite не использует POP3. Он использует HTTP.

Серверы Domino могут поддерживать протокол POP3, но по умолчанию он не включен и в большинстве случаев, вероятно, остается отключенным. Вам нужно будет поговорить с администраторами вашего сервера Domino, чтобы узнать, готовы ли они включить его для вас. Вам, вероятно, понадобится очень веская причина, чтобы убедить их сделать это.

Если вы запускаете PHP на машине Wndows, на которой установлены Lotus Notes или Domino, вы можете получить доступ к данным Domino на своем сервере с помощью COM-объектов Domino, которые описаны в этом старая статья на веб-сайте IBM.

person Richard Schwartz    schedule 29.07.2015
comment
Спасибо за ваши комментарии. Добавил несколько деталей, которые я пропустил изначально ... Проверю, могу ли я включить POP3 в Lotus Notes, что может быть маловероятно !. Должен ли приведенный выше код работать после включения без каких-либо изменений? Как я уже говорил, это сработало для Gmail. Кроме того, из указанной вами статьи кажется маловероятным, что я смогу разговаривать с почтовым сервером Notes с удаленного Linux без некоторых модификаций на сервере, таких как развертывание агента или дополнительных конфигураций на сервере Lotus Notes. - person NBhat; 30.07.2015
comment
Я ничего не знаю о том, как PHP работает с IMAP, поэтому не знаю, будет ли он работать без изменений. Я предполагаю, однако, что это, вероятно, будет хорошо. У вас также может быть возможность использовать Domino Data Service, который является службой REST API. Он доступен для Domino 8.5.3, и администраторы вашего сервера могут с большей охотой включить его, чем POP3. (Если я правильно помню, использование POP3 в Domino требует обновления шаблона для файлов почты пользователя, а это довольно большая проблема. REST API этого не требует.) - person Richard Schwartz; 30.07.2015
comment
В примере php-кодов используется IMAP, но вы говорите о POP3. Включение POP3 на стороне сервера совершенно не поможет с кодом, который работает через порт IMAP. Для запуска вашего кода вам понадобится domino-admin для запуска задачи IMAP, а не задачи POP3. - person Torsten Link; 30.07.2015
comment
Я этого не заметил! Впрочем, довольно очевидно :-) - person Richard Schwartz; 30.07.2015
comment
это правильно @TorstenLink; Я в порядке с любым из них :) Но моя основная проблема - это подключение к почтовому серверу Lotus Notes, так как он выглядел иначе по сравнению с другими почтовыми серверами. - person NBhat; 30.07.2015
comment
@RichardSchwartz, большинство проблем, с которыми я столкнулся, были связаны с конфигурациями политик на сервере Lotus Domino, а также с тем, что порт был заблокирован для внешних подключений. Кроме того, этот облегченный веб-доступ является клиентом на основе http, который смог подключиться к серверу. Приведенного выше кода PHP должно хватить для подключения к IMAP / POP3 .. вот всплывающий URL: // $ this- ›server = {pop.gmail.com:995/pop3/ssl/novalidate-cert}Inbox; Спасибо всем за ваш вклад .. - person NBhat; 24.01.2016