{"id":22096969,"url":"https://github.com/pitops/mailframe","last_synced_at":"2025-07-21T07:03:04.518Z","repository":{"id":57127337,"uuid":"412168291","full_name":"pitops/mailframe","owner":"pitops","description":"🚀 Small library that makes it super easy to manage and dispatch emails","archived":false,"fork":false,"pushed_at":"2021-10-10T16:09:40.000Z","size":367,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-25T13:55:22.257Z","etag":null,"topics":["email-sender","email-templates"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pitops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-30T17:55:12.000Z","updated_at":"2021-10-10T16:09:42.000Z","dependencies_parsed_at":"2022-08-31T16:11:20.827Z","dependency_job_id":null,"html_url":"https://github.com/pitops/mailframe","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pitops/mailframe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitops%2Fmailframe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitops%2Fmailframe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitops%2Fmailframe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitops%2Fmailframe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pitops","download_url":"https://codeload.github.com/pitops/mailframe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitops%2Fmailframe/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266255244,"owners_count":23900098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["email-sender","email-templates"],"created_at":"2024-12-01T04:13:42.443Z","updated_at":"2025-07-21T07:03:04.502Z","avatar_url":"https://github.com/pitops.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"\" rel=\"noopener\"\u003e\n \u003cimg src=\"https://i.imgur.com/VLr2Gs8.png\" alt=\"Messageraft\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003eMailframe\u003c/h3\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![Status](https://img.shields.io/badge/status-active-success.svg)\n[![Version](https://img.shields.io/npm/v/@mailframe/mailframe.svg)](https://npmjs.org/package/@mailframe/cli)\n[![License](https://img.shields.io/npm/l/@mailframe/mailframe)](https://github.com/pitops/mailframe/blob/main/package.json)\n[![GitHub Issues](https://img.shields.io/github/issues/pitops/mailframe.svg)](https://github.com/pitops/mailframe/issues)\n[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/pitops/mailframe.svg)](https://github.com/pitops/mailframe/pulls)\n\u003c/div\u003e\n\n## \u003cp align = \"center\"\u003e💡 Small library that makes it super easy to manage and dispatch emails\u003c/p\u003e\n\n\n\u003c!-- about --\u003e\n## ✨ Features \u003ca name = \"features\"\u003e\u003c/a\u003e\nMailframe is a small library that helps organize email templates, and easily dispatch emails with dynamic templating built-in retries, and more.\n\nIt was originally developed for use with [MessageRaft](https://github.com/messageraft/cli) but it can also be used without (check the custom dispatcher example)\n\n- 🌈  [mustache.js](https://github.com/janl/mustache.js/) template syntax\n- 💅  Automatic retries on **408, 413, 429, 500, 502, 503, 504** status codes (using  [ky](https://github.com/sindresorhus/ky))\n- 📦 Automatic conversion of html to text and dispatch both\n\n\u003e [MessageRaft](https://github.com/messageraft/cli) needs to be setup separately if using the built-in method of dispatching emails\n\n\u003c!-- aboutstop --\u003e\n\n## 📦 Install\n\n### Step 1 - Setup Messageraft\n\nFollow the instructions found [here](https://github.com/messageraft/cli) to install and setup MessageRaft.\n\n### Step 2 - Install Mailframe\n\n```sh-session\n$ npm install @mailframe/mailframe\n\nOR\n\n$ yarn add mailframe \n```\n\n## 🔨 Usage\n\nPlease checkout the example [here](https://github.com/pitops/mailframe/tree/main/examples/default-usage) for usage.\n\n### Custom dispatcher\n\nIn case you don't want to use MessageRaft and instead you prefer to use an email provider directly you can do that. Please check the example [here](https://github.com/pitops/mailframe/tree/main/examples/custom-dispatcher) for details\n\n## 🤝 Contributions welcome\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpitops%2Fmailframe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpitops%2Fmailframe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpitops%2Fmailframe/lists"}