# @upyo/mime

> Portable MIME composition and DKIM signing for Upyo

Latest version **0.6.0** (published 2026-09-09) · MIT license · 0 weekly downloads

## Install

```sh
npm install @upyo/mime
pnpm add @upyo/mime
yarn add @upyo/mime
bun add @upyo/mime
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.6.0 |
| Published | 2026-09-09 |
| First published | 2026-09-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=20.0.0 |
| Dependencies | 1 |
| Unpacked size | 105.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| Author | Hong Minhee |
| Maintainers | hongminhee |
| Keywords | email, mail, sendmail, smtp |

## Links

- npm: https://www.npmjs.com/package/@upyo/mime
- Repository: https://github.com/dahlia/upyo
- Homepage: https://upyo.org/
- Issues: https://github.com/dahlia/upyo/issues
- Funding: https://github.com/sponsors/dahlia
- npm.io page: https://npm.io/package/@upyo/mime

## Dependencies (1)

- [@noble/hashes](https://npm.io/package/@noble/hashes.md) ^1.8.0

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 0.6.0 (latest) — 2026-09-09
- 0.6.0-dev.368 (dev) — 2026-09-09
- 0.6.0-dev.366 — 2026-09-09
- 0.6.0-dev.0 — 2026-09-09

## README

@upyo/mime
==========

*This package is introduced in Upyo 0.6.0.*

Portable MIME composition and DKIM signing for [Upyo]. Compose a structured
message without a transport connection, then save its bytes or pass it to
`sendRaw()` on an SMTP or JMAP transport.

~~~~ typescript
import { createMessage, readAttachmentContent } from "@upyo/core";
import { composeMessage } from "@upyo/mime";

const composed = await composeMessage(createMessage({
  from: "sender@example.com",
  to: "recipient@example.com",
  subject: "Hello",
  content: { text: "Hello!" },
}));
const eml = await readAttachmentContent(composed.content);
~~~~

See the [MIME composition guide] for streaming, signing, cancellation, and
attachment lifetime. Runtime code uses web APIs and works without Node.js
compatibility in edge environments.

[Upyo]: https://upyo.org/
[MIME composition guide]: https://upyo.org/messages/mime

---
_Source: https://npm.io/package/@upyo/mime · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
