Postbox

approved

by istefox

Import .eml and .msg email files and convert them into native Markdown notes with attachments, inline images, and structured frontmatter. - This plugin has not been manually reviewed by Obsidian staff.

1 stars280 downloadsUpdated 1mo agoMIT

Postbox

Obsidian plugin that imports .eml and .msg email files and turns them into native Markdown notes: the HTML body becomes clean Markdown, attachments are saved to disk and linked, inline images render in place, and a structured YAML frontmatter makes every note Dataview-friendly.

Desktop only. The plugin works on .eml/.msg files already on disk, with no Outlook, IMAP, or Exchange connection.

Installation

From Obsidian (once approved in the community store): open Settings, go to Community plugins, browse, search for "Postbox", install it, then enable it.

Manual install: download main.js, manifest.json, and styles.css from the latest release, put them in your vault under .obsidian/plugins/postbox/, then enable the plugin in Settings.

Features

  • Import .eml (MIME) and .msg (Outlook) files.
  • Convert the HTML body to Markdown, keeping links, lists, and tables.
  • Extract attachments to a configurable folder and link them in the note.
  • Render inline cid: images at the right spot in the body.
  • Write a YAML frontmatter with sender, recipients, subject, date, Message-ID, attachment list, and tags.
  • Import manually from the command palette or the file-explorer context menu.
  • Watch an external folder and import new files automatically.
  • Skip duplicates by Message-ID.

Development

Requires Node and npm.

npm install      # install dependencies
npm run dev      # esbuild watch (rebuilds main.js on change)
npm run build    # type-check, then produce the production main.js

To try it in Obsidian, copy main.js, manifest.json, and styles.css into your test vault under .obsidian/plugins/postbox/, then enable the plugin in Settings.

Settings

SettingDefault
Notes folderEmail/
Attachments folderEmail/attachments/
Filename template{{date}}_{{from}}_{{subject}}
Date formatYYYY-MM-DD
Extra tag(empty)
Source account(empty)
Include inline imageson
Watch folder enabledoff
Watch folder path(empty)
Open note after manual importon

Filename template variables: {{date}}, {{time}}, {{from}}, {{subject}}, {{messageId}}.

License

MIT. See LICENSE.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.