# Upyo > A simple and cross-runtime library for sending email messages using SMTP and various email providers ## Table of Contents ### Messages - [Composing messages](/messages/compose.md): Learn how to create email messages with Upyo's createMessage() function, including multiple recipients, rich content, priority settings, and custom headers. - [Attachments](/messages/attachments.md): Guide to adding file attachments to emails using JavaScript File objects or custom Attachment objects, including inline attachments and binary content. ### Transports - [SMTP](/transports/smtp.md): Complete guide to using Upyo's SMTP transport for universal email delivery, including connection pooling, TLS security, authentication methods, and bulk sending. - [JMAP](/transports/jmap.md): JMAP transport guide for sending emails via JMAP protocol (RFC 8620/8621), including session discovery, identity resolution, and configuration options. - [Lettermint](/transports/lettermint.md): Learn how to send emails with Lettermint transport, including batch sending, idempotency, routes, metadata, tracking settings, and inline attachments. - [Mailgun](/transports/mailgun.md): Learn how to send emails with Mailgun transport, including regional configuration, tracking and analytics, message tagging, and bulk email sending with retry logic. - [Plunk](/transports/plunk.md): Complete Plunk transport guide covering email sending, self-hosted support, message organization, batch processing, and advanced configuration for reliable delivery. - [Resend](/transports/resend.md): Complete Resend transport guide covering email sending, batch optimization, message tagging, idempotency handling, and advanced configuration for reliable delivery. - [SendGrid](/transports/sendgrid.md): Complete SendGrid transport guide covering email tracking, analytics, message tagging, bulk sending, and advanced configuration for reliable delivery. - [Amazon SES](/transports/ses.md): Amazon SES transport guide with AWS authentication, regional configuration, IAM roles, rich message features, bulk sending, and configuration sets. - [Pool transport](/transports/pool.md): Pool transport for combining multiple email providers with load balancing, failover strategies, and intelligent routing to ensure reliable email delivery. - [Retry transport](/transports/retry.md): Retry transport for wrapping Upyo transports with backoff, jitter, Retry-After handling, and sendMany throttling. - [OpenTelemetry](/transports/opentelemetry.md): Complete guide to OpenTelemetry observability for Upyo transports, including distributed tracing, metrics collection, error classification, and performance monitoring. - [Mock transport](/transports/mock.md): Testing utility transport that simulates email sending without delivery, featuring message inspection, failure simulation, and async testing patterns. - [Custom transport](/transports/custom.md): Guide to creating custom email transports for Upyo, covering the Transport interface, HTTP patterns, resource management, and best practices. ### Other - [Getting started](/start.md): A quick guide to getting started with Upyo, including installation, choosing a transport, and sending your first email. - [Why Upyo?](/why.md): Learn why Upyo is the ideal choice for email sending: cross-runtime compatibility, zero dependencies, simple API, built-in testing tools, and provider independence.