What problem does it solve? Sending email from Python with large attachments, correct UTF-8 encoding, STARTTLS authentication, and failover across SMTP hosts is error-prone when hand-rolled with smtplib and the email package, and naive approaches load entire attachments into memory. ## Core Features & Use Cases - Streamed large attachments: Sends multi-gigabyte files with bounded memory via disk-backed spooling and RFC 3030 BDAT/CHUNKING, falling back to DATA with dot-stuffing automatically. - Library and CLI: Use btx_lib_mail.send(...) in Python or the zero-install uvx btx-lib-mail send ... CLI for shell and agent workflows, with multi-host failover and STARTTLS plus authentication. - Attachment security: Blocks path traversal, symlinks, sensitive files, dangerous extensions, and oversize payloads before any bytes are read. - Use Case: A nightly backup job sends a 20 GB archive to an archive address from a low-memory server by raising attachment_max_size_bytes and streaming the file to an authenticated STARTTLS relay with a failover host. ## Quick Start Ask the AI to send an email with a large attachment from Python using the btx_lib_mail library, with STARTTLS, credentials, and a raised attachment size cap.