Я разрабатываю почтовое приложение с использованием 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 проекта и он работает нормально, я не смог сломать его, загрузив большее количество сообщений