Ioni c 4 IMAP - стандартный почтовый протокол - PullRequest
0 голосов
/ 24 марта 2020

Я разрабатываю почтовое приложение с использованием Ioni c 4.

Я хочу подключить к своему поставщику услуг электронной почты, поддерживающих IMAP.

Мне удалось установить клиент IMAP плагин https://www.npmjs.com/package/emailjs-imap-client и решил все свои проблемы с помощью этих 2 плагинов:

ioni c плагин cordova add cordova-plugin- chrome -apps- сокеты-tcp

ioni c плагин Cordova добавить Cordova-плагин- chrome -apps-runtime

Приложение может загружать электронные письма, но плагин очень ненадежный, что делает всю мою функцию ненадежной.

Плагин загружает несколько сообщений электронной почты перед остановкой и возвращает следующую ошибку:

Error: Socket timed out!
at home-home-module-es2015.js:3607
at ZoneDelegate.invokeTask (polyfills-es2015.js:3741)
at Zone.runTask (polyfills-es2015.js:3518)
at invokeTask (polyfills-es2015.js:3815)
at ZoneTask.invoke (polyfills-es2015.js:3804)
at timer (polyfills-es2015.js:6000)

Может кто-нибудь мне помочь? Кто-нибудь пробовал что-то подобное в проекте Ioni c?

Я также пытался использовать другой плагин IMAP https://www.npmjs.com/package/imap, но я не смог заставить его работать в проекте Ioni c 4.

Извините, я никогда не приводил пример кода того, что я пытаюсь произвести.

Сначала я запускаю пробел Проект Ioni c с Angular framework .

Затем я устанавливаю следующие плагины:

npm i email js -imap-client

ioni c плагин Cordova добавить Cordova-плагин- chrome -apps-сокеты-TCP

Ioni c Cordova плагин добавьте cordova-plugin- chrome -apps-runtime

Затем я обновлю свой пакет . json, добавив следующую информацию для устранения ошибок

  "browser": {
    "net": false,
    "tls": false
  },

Затем я делаю следующее:

import ImapClient from 'emailjs-imap-client';


const client: any = new ImapClient('imap.gmx.com', 993, {
            auth: {
                user: username,
                pass: password
            }
        });

        client.connect().then(() => {
            console.log('server connected');

            client.search('INBOX', {since: new Date(2019, 1, 10, 0, 0, 0)}).then(async (messages) => {
                console.log(messages);

                let counter = 0;
                while (counter < messages.length) {
                    console.log(messages[counter]);
                    const message = await client.listMessages('INBOX', messages[counter], ['uid', 'flags', 'envelope', 'body[]']);

                    console.log('message');
                    console.log(message);

                    counter++;
                }
            }).catch((err) => {
                console.log('failed');
                console.log(err);
            });


        }).catch(err => console.log(err));

Причина, по которой я загружаю сообщения с их полным содержимым по одному, заключается в том, что я хочу сначала обработать содержимое данных загруженное сообщение и затем загрузите новое.

Приложение загружает определенное количество сообщений, а затем останавливается и возвращает вышеуказанную ошибку «Тайм-аут сокета».

Я протестировал «IMAP-клиент» ”Плагин для NodeJS проекта и он работает нормально, я не смог сломать его, загрузив большее количество сообщений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...