{"repo":"dahlia/upyo","free":true,"listed":false,"github":"https://github.com/dahlia/upyo","clone":"git clone https://github.com/dahlia/upyo.git","description":"Upyo is a simple and cross-runtime library for sending email messages using SMTP and various email providers. It works on Node.js, Deno, Bun, and edge functions.","language":"TypeScript","stars":563,"topics":["bun","deno","email","javascript","mail","mailgun","nodejs","sendgrid","sendmail","smtp"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Upyo ==== Upyo is a cross-runtime email library that provides a unified, type-safe API for sending emails across Node.js, Deno, Bun, and edge functions. Switch between SMTP and HTTP-based providers (Lettermint, Maileroo, Mailgun, Mailtrap, Resend, SendGrid, Amazon SES) without changing your application code, while enjoying full TypeScript support, consistent error handling, and built-in testing capabilities with mock transports across all runtimes. Here's a quick demo of sending an email using the Mailgun transport: typescript import { createMessage } from \"@upyo/core\"; import { MailgunTransport } from \"@upyo/mailgun\"; import fs from \"node:fs/promises\"; import process from \"node:process\"; const message = createMessage({ from: \"sender@example.com\", to: \"recipient@example.net\", subject: \"Hello from Upyo!\", content: { text: \"This is a test email.\" }, attachments: [ new File( [await fs.readFile(\"image.jpg\"), \"image.jpg\", { type: \"image/jpeg\" }] ) ], }); const transport = new MailgunTransport({ apiKey: process.env.MAILGUN KEY!, domain: process.env.MAILGUN DOMAIN!, region: process.env.MAILGUN REGION as \"us\" \"eu\", }); const receipt = await transport.send(message); if (receipt.successful) { console.log(\"Message sent with ID:\", receipt.messageId); } else { console.error(\"Send failed:\", receipt.errorMessages.join(\", \")); } Docs ---- Upyo provides comprehensive documentation to help you get started quickly: . API reference documentation for each package is available on JSR (see below). ","default_branch":null,"files":null,"tree":[],"storefront":"/r/dahlia","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dahlia/upyo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}