Skip to content

charmbracelet/pop

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.

Pop


Latest Release Go Docs Build Status

Send emails from your terminal.

pop mail text-based client

Text-based User Interface

Launch the TUI

pop

Command Line Interface

pop < message.md \
    --from "[email protected]" \
    --to "[email protected]" \
    --subject "Hello, world!" \
    --attach invoice.pdf

pop mail command line client


Resend and Charm logos

To use pop, you will need a RESEND_API_KEY.

You can grab one from: https://resend.com/api-keys.

Environment

To avoid typing your From: email address, you can also set the POP_FROM environment to pre-fill the field anytime you launch pop.

export RESEND_API_KEY=$(pass RESEND_API_KEY)
export [email protected]
export POP_SIGNATURE="Sent with [Pop](https://github.com/charmbracelet/pop)!"

Installation

Use a package manager:

# macOS or Linux
brew install pop

# Nix (coming soon)
nix-env -iA nixpkgs.pop

# Arch (btw)
yay -S pop

Install with Go:

go install github.com/charmbracelet/pop@latest

Or download a binary from the releases.

Examples

Pop can be combined with other tools to create powerful email pipelines, such as:

Mods

Use mods with pop to write an email body with AI:

Note: Use the --preview flag to preview the email and make changes before sending.

pop <<< '$(mods -f "Explain why CLIs are awesome")' \
    --subject "The command line is the best" \
    --preview

Generate email with mods and send email with pop.

Gum

Use gum with pop to choose an email to send to and from:

pop --from $(gum choose "[email protected]" "[email protected]" "[email protected]")
    --to $(gum filter < contacts.txt)

Select contact information with gum and send email with pop.

Invoice

Use invoice with pop to generate and send invoices entirely from the command line.

FILENAME=invoice.pdf
invoice generate --item "Rubber Ducky" --rate 25 --quantity 2 --output $FILENAME
pop --attach $FILENAME --body "See attached invoice."

Generate invoice with invoice and attach file and send email with pop.

License

MIT

Feedback

We’d love to hear your thoughts on this project. Feel free to drop us a note!

License

MIT


Part of Charm.

The Charm logo

Charm ηƒ­ηˆ±εΌ€ζΊ β€’ Charm loves open source