akudlay-ru11 downloadsExport IMAP mail into analysis-ready Markdown digests and optional mail notes with adjacent attachments.
IMAP mail → clean Markdown digest → structured analysis inside Obsidian.
MailDump is a desktop-only Obsidian plugin for exporting email from IMAP folders into analysis-ready Markdown.
It is built for people who do not need another pretty mailbox. They need a controlled source package: messages, metadata, threads, contacts, unanswered items, attachments when necessary, and a format that can be read by humans, Obsidian, Dataview, scripts, or an LLM.
No CSV graveyard. No fake AI magic. No black-box sync. Just mail pulled into a vault in a form that can be inspected, reused, archived and analyzed.
MailDump turns selected IMAP folders into a Markdown digest for operational analysis.
Typical use cases:
MailDump is not an email client. It does not replace your mailbox. It extracts the part of the mailbox that matters for analysis and puts it where the work actually happens: in Markdown.
| Area | What MailDump does |
|---|---|
| IMAP | Connects directly to an IMAP mailbox from Obsidian desktop. |
| Folders | Loads and exports selected IMAP folders. |
| Periods | Supports today, yesterday, work week, last 7 days, last 30 days and custom ranges. |
| Digest | Creates one analysis-ready .md digest. |
| Presets | Stores presets in Obsidian plugin data.json. |
| Import / export | Allows separate JSON import and export of presets. |
| Threads | Builds subject-based thread keys from normalized subjects. |
| Metadata | Keeps UID, folder, direction, date, sender, recipients, Message-ID, References and flags. |
| Cleanup | Can strip reply chains and signatures. |
| Forwarded mail | Can keep forwarded messages while cutting reply history. |
| Custom marker | Supports a manual reply-chain start marker. |
| Attachments | Can save selected attachment types next to message notes. |
| Unanswered mail | Marks potentially unanswered incoming messages after a configurable threshold. |
| Stop | Can stop the active IMAP operation. |
| Progress | Shows progress in the right panel and Obsidian status bar. |
A generated digest includes:
For each message, MailDump can include:
uid: "12345"
mailbox: "INBOX"
direction: "incoming"
date: "2026-05-16 18:42:10"
from: "Sender <[email protected]>"
to: "User <[email protected]>"
cc: "Copy <[email protected]>"
subject: "Project status"
normalized_subject: "project status"
message_id: "<[email protected]>"
in_reply_to: "<[email protected]>"
references: "<[email protected]>"
thread_key: "subject-based-key"
reference_thread_key: "reference-based-key"
has_attachments: true
attachments_count: 2
unanswered_over_threshold: false
body_length: 1842
The body is stored below the YAML block as regular Markdown text.
.obsidian/plugins/maildump/
main.js
manifest.json
styles.css
Settings → Community plugins.MailDump.After publication in the Obsidian Community Plugins directory, MailDump will be installable through the standard Obsidian plugin browser.
Until then, use manual installation.
Use the ribbon icon or run the command:
Open MailDump panel
Command names are in English for Obsidian compatibility. The plugin interface is in Russian.
Open MailDump settings and configure:
| Setting | Meaning |
|---|---|
| IMAP host | Mail server address, for example imap.yandex.ru. |
| IMAP port | Usually 993. |
| Login | Mail account login. |
| App-password mode | How MailDump handles the IMAP app-password. |
| App-password | Required only if local storage is selected. |
| Additional user addresses | Used to detect incoming / outgoing / CC messages. |
| Key contact email | Optional counter for a specific contact. |
| Output folder | Default: MailDump. |
| Timeouts | IMAP connection and command timeouts. |
Use an app-password from your mail provider. Do not use the main account password unless you enjoy turning simple tools into security incidents.
MailDump supports three app-password modes:
| Mode | Result |
|---|---|
Store in data.json |
The app-password is stored locally in Obsidian plugin data. Convenient, but you must not publish the file. |
| Ask every time | The app-password is requested before each IMAP operation and is not saved. Safest, least convenient. |
| Remember for session | The app-password is requested once and kept only until Obsidian is restarted. Balanced mode. |
MailDump does not intentionally write the app-password to logs, digests or exported preset files.
Never publish:
data.json
_mail_dump_runs.json
MailDump/
Presets define repeatable export scenarios:
Presets are stored in Obsidian plugin data.json, not in a working presets.json file.
The panel provides separate buttons for:
Exported preset files are written into the configured MailDump output folder.
▶ Пуск.Default output folder:
MailDump/
MailDump supports include and exclude filters for:
Filters are applied locally after messages for the selected period are loaded.
This is intentional. IMAP search with Cyrillic subjects is not reliable across mail providers. Predictable local filtering is better than elegant server-side filtering that silently misses messages. Elegant failure is still failure, only with nicer shoes.
MailDump can clean message bodies before writing them into the digest.
Available options:
A custom marker is useful when corporate mail templates use stable separators, for example:
----------------
Кому:
When the marker is found, MailDump cuts everything below it.
By default, MailDump creates one digest file.
For special scenarios, such as post-meeting mail packages, a preset can also create separate Markdown notes for messages.
If attachment export is enabled, selected attachment extensions are saved next to the corresponding message note. The message note and its attachments share the same timestamp / UID prefix.
Example:
MailDump/Postmits/2026-05-16/
├─ 2026-05-16_18-42-10_12916_Project_status.md
├─ 2026-05-16_18-42-10_12916_minutes.pdf
└─ 2026-05-16_18-42-10_12916_table.xlsx
Supported extensions are configured in the preset UI.
MailDump deliberately has boundaries:
Current IMAP/MIME processing is built into the plugin and kept intentionally conservative for the first public architecture release.
MailDump connects from the local Obsidian desktop app to the configured IMAP server.
It writes output files into your vault. It does not send exported mail to third-party services.
Still, the generated digest can contain sensitive correspondence. Treat the output folder as confidential project material.
Do not commit these files:
data.json
_mail_dump_runs.json
MailDump/
The included .gitignore is there for a reason. A small reason, admittedly, but the kind that prevents large embarrassment.
Public versioning starts from:
0.0.1
This release is the first public architecture baseline. It is intended to make the plugin clean enough for a public repository and further Community Plugins preparation.
Recommended version policy:
| Version type | Use when |
|---|---|
0.0.x |
Public cleanup, fixes, release preparation. |
0.x.0 |
New feature without a stable public API guarantee. |
1.0.0 |
Stable public release with finalized baseline behavior. |
MIT.
Почта из IMAP → чистый Markdown → управляемая сводка в Obsidian.
MailDump — desktop-only плагин для Obsidian. Он выгружает письма из IMAP-папок и собирает из них Markdown-пакет для анализа.
Не почтовый клиент. Не очередная красивая панелька ради панельки. Не «ИИ сейчас всё сам поймёт», потому что эта сказка обычно заканчивается потерянной задачей и виноватым РП.
MailDump делает более приземлённую вещь: забирает письма, сохраняет метаданные, собирает цепочки, показывает потенциально оставшиеся без ответа входящие и кладёт всё в Markdown.
MailDump нужен, когда почта становится не перепиской, а источником управленческих фактов.
Типовые сценарии:
Главная идея простая: письмо должно стать нормальным проектным источником, а не утонуть в ящике между рекламой, пересылками и корпоративным фольклором.
| Блок | Возможность |
|---|---|
| IMAP | Подключение к почтовому ящику из desktop Obsidian. |
| Папки | Загрузка списка IMAP-папок и выбор нужных папок. |
| Период | Сегодня, вчера, рабочая неделя, последние 7 / 30 дней, произвольный период. |
| Digest | Один .md файл, пригодный для анализа. |
| Пресеты | Сценарии выгрузки хранятся в data.json. |
| Импорт / экспорт | Пресеты можно отдельно импортировать и экспортировать в JSON. |
| Цепочки | Группировка по нормализованной теме письма. |
| Метаданные | UID, папка, направление, дата, отправитель, получатели, Message-ID, References, flags. |
| Очистка | Удаление цепочек переписки и подписей. |
| Пересылки | Возможность сохранить пересылаемые письма. |
| Ручной маркер | Можно задать маркер начала старой цепочки. |
| Вложения | Выбранные типы вложений сохраняются рядом с .md письма. |
| Без ответа | Входящие старше порога без исходящего ответа помечаются отдельно. |
| Стоп | Активную IMAP-операцию можно остановить. |
| Прогресс | Правый сайдбар и status bar Obsidian. |
Digest содержит:
Пример блока письма:
uid: "12345"
mailbox: "INBOX"
direction: "incoming"
date: "2026-05-16 18:42:10"
from: "Иванов Иван <[email protected]>"
to: "Петров Петр <[email protected]>"
cc: "Сидоров <[email protected]>"
subject: "Статус по проекту"
normalized_subject: "статус по проекту"
message_id: "<[email protected]>"
in_reply_to: "<[email protected]>"
references: "<[email protected]>"
thread_key: "subject-based-key"
reference_thread_key: "reference-based-key"
has_attachments: true
attachments_count: 2
unanswered_over_threshold: false
body_length: 1842
Ниже идёт тело письма обычным Markdown-текстом.
Создать папку:
.obsidian/plugins/maildump/
Скопировать туда:
main.js
manifest.json
styles.css
Потом:
Settings → Community plugins.MailDump.После публикации в Community Plugins установка будет идти через стандартный каталог Obsidian.
Через ribbon icon или команду Obsidian:
Open MailDump panel
Команды Obsidian на английском. Интерфейс панели на русском. Это не раздвоение личности, а нормальная совместимость с каталогом и хоткеями.
В настройках плагина указать:
| Настройка | Что означает |
|---|---|
| IMAP host | Адрес сервера, например imap.yandex.ru. |
| IMAP port | Обычно 993. |
| Логин | Логин почтового ящика. |
| Режим app-password | Как хранить или запрашивать пароль приложения. |
| App-password | Нужен, если выбран режим локального хранения. |
| Дополнительные адреса | Чтобы корректно определять входящие, исходящие и копии. |
| Контрольный адрес | Отдельный счётчик по важному контакту. |
| Папка выгрузки | По умолчанию MailDump. |
| Таймауты | Таймаут подключения и IMAP-команд. |
Использовать лучше app-password почтового сервиса, а не основной пароль аккаунта.
Доступны три режима:
| Режим | Что происходит |
|---|---|
Хранить в data.json |
Пароль приложения хранится локально в данных плагина. Удобно, но файл нельзя публиковать. |
| Спрашивать каждый раз | Пароль не сохраняется и запрашивается перед каждой операцией. Безопаснее, но раздражает. |
| Запоминать в рамках сессии | Пароль запрашивается один раз и живёт до перезапуска Obsidian. Нормальный компромисс. |
MailDump не должен писать app-password в логи, digest или экспортированные пресеты.
Не публиковать:
data.json
_mail_dump_runs.json
MailDump/
Пресет — это сохранённый сценарий выгрузки:
.md писем;Рабочее хранение пресетов идёт через data.json. Внешний presets.json не является рабочим хранилищем.
В панели есть отдельные кнопки:
Порядок работы:
▶ Пуск..md файл в папке выгрузки.Папка по умолчанию:
MailDump/
Фильтры есть по трём полям:
Фильтры применяются локально после загрузки писем за период.
Это сделано намеренно: IMAP-поиск по русским темам у разных серверов ведёт себя нестабильно. Лучше загрузить период и отфильтровать предсказуемо, чем красиво не найти половину писем.
MailDump может чистить тело письма перед записью в digest:
Пример ручного маркера:
----------------
Кому:
Если маркер найден, всё ниже него вырезается.
По умолчанию создаётся один digest.
Для постмитов и похожих сценариев можно включить создание отдельных .md файлов писем. Тогда вложения выбранных типов сохраняются рядом с письмом.
Пример:
MailDump/Postmits/2026-05-16/
├─ 2026-05-16_18-42-10_12916_Статус_по_проекту.md
├─ 2026-05-16_18-42-10_12916_протокол.pdf
└─ 2026-05-16_18-42-10_12916_таблица.xlsx
У письма и вложений общий префикс по дате, времени и UID. Потом можно понять, что к чему относится, не устраивая археологическую экспедицию по папкам.
В этой версии MailDump не делает:
Это сознательная граница версии 0.0.1: сначала чистая публичная база, потом расширение функциональности.
MailDump подключается к IMAP напрямую из локального Obsidian desktop.
Плагин не отправляет выгруженную почту во внешние сервисы. Но сам digest может содержать чувствительную переписку, поэтому папка выгрузки должна считаться рабочим конфиденциальным материалом.
Не добавлять в Git:
data.json
_mail_dump_runs.json
MailDump/
.gitignore добавлен не для красоты. Хотя красота там тоже спорная, как и у любого файла, который существует ради предотвращения человеческих ошибок.
Публичная история начинается с:
0.0.1
Это первая публичная архитектурная база. Не финальная «мы всё придумали навсегда», а аккуратный старт для репозитория и подготовки к Community Plugins.
Логика версий:
| Версия | Когда использовать |
|---|---|
0.0.x |
Чистка, багфиксы, подготовка релиза. |
0.x.0 |
Новая функция без гарантии стабильной публичной архитектуры. |
1.0.0 |
Стабильный публичный релиз с закреплённым базовым поведением. |
MIT.