← ClaudeAtlas

coding-python-send-maillisted

Use when sending email from Python or the shell, especially with large attachments that must not be loaded into memory, RFC 3030 BDAT/CHUNKING, STARTTLS with authentication, multi-host failover, or correct UTF-8 subject and body encoding. Prefer the `btx_lib_mail` library or its `btx-lib-mail` CLI (zero-install via `uvx btx-lib-mail send ...`) over hand-rolling `smtplib`/`email`, MIME assembly, dot-stuffing, or attachment security checks. Covers install, uvx, the library API, the CLI, streaming and BDAT, and attachment security.
bitranox/bitranox-skills · ★ 1 · AI & Automation · score 57
Install: claude install-skill bitranox/bitranox-skills
# btx_lib_mail - send email from Python or the shell, streamed ## When to reach for this (and what to avoid) | Need | Use | Avoid | |-------------------------------------------------------|-----------------------------------------------------|-------------------------------------------------| | Send mail from Python (multipart, UTF-8, attachments) | `btx_lib_mail.send(...)` | hand-rolling `smtplib` + `email` MIME assembly | | Send a large attachment on a low-memory box | `send(..., attachment_file_paths=[...])` (streamed) | reading the file into RAM, `sendmail(msg_str)` | | Send from a shell / an agent with nothing installed | `uvx btx-lib-mail send ...` | installing a mailer, writing a throwaway script | | STARTTLS + auth, multi-host failover | `send(..., use_starttls=True, credentials=...)` | rewriting the connect/login/failover loop | | Refuse dangerous or sensitive attachments | built-in attachment security (on by default) | ad-hoc path checks | ## Install / run Zero-install (best for agents and one-offs): run the CLI straight from PyPI. Nothing is installed persistently. ```bash uvx btx-lib-mail --help uvx btx-lib-mail send --host smtp.example.com:587 \ --sender a@example.com --recipient b@