master
Vitaliy Filippov 2016-10-09 21:06:57 +03:00
parent 54bc773d09
commit 2e982e3715
2 changed files with 22 additions and 5 deletions

View File

@ -4,6 +4,7 @@ const ImapManager = require('./ImapManager.js');
const EventEmitter = require('events').EventEmitter;
const MailParser = require('mailparser').MailParser;
const iconv = require('iconv-lite');
const mimelib = require('mimelib');
module.exports = Syncer;
@ -396,7 +397,7 @@ Syncer.prototype.extractAttachments = function(struct, attachments)
else if (struct[i].disposition && struct[i].disposition.type == 'attachment')
{
attachments.push([
struct[i].disposition.params && struct[i].disposition.params.filename || struct[i].description || '',
mimelib.parseMimeWords(struct[i].disposition.params && struct[i].disposition.params.filename || struct[i].description || ''),
struct[i].type+'/'+struct[i].subtype,
struct[i].size
]);

View File

@ -1,7 +1,23 @@
// TODO: Получать, парсить и хранить тела писем (и, вероятно, вложения) + индексировать тексты
// TODO: Группировка писем
// TODO: Сделать подписки на новые сообщения по вебсокетам
// TODO: Чего я ещё хотел - интеграцию с maillog'ом и серверным спамфильтром
/**
* TODO:
* - исправить параллелизм запросов и sync'а
* - фоновая индексация всех текстов сообщений в ящике
* - скачивание вложений
* - написание сообщений
* - ответ, пересылка
* - подсказка адресов
* - отправка вложений
* - пометить прочтённым/непрочтённым
* - переместить
* - удалить
* - пометить как спам
* - живое обновление (подписка view на новые сообщения)
* - настройки группировки (дата/прочитано/отмечено)
* - настройки сортировки (дата/тема/размер/возможно отправитель)
* - thread'ы (дискуссии)
* - метки (если вообще нужно)
* - совсем фантазии: интеграция с maillog'ом и серверным спамфильтром
*/
/**
* Нужные методы API: