Go to file
Ayman Bagabas 68ec042eb7 fix: remove extra completion cmd
Cobra by default provides completions for us, there is no need to define one.
2023-08-01 11:22:40 -04:00
.github Update issue templates 2023-07-19 12:54:49 -04:00
examples fix: update demo.tape and gif 2023-07-11 14:14:33 -04:00
.gitignore fix(ci): use goreleaser-full meta config 2023-07-13 11:18:48 -04:00
.golangci-soft.yml feat(ci): add CD/CI pipelines 2023-07-13 11:09:32 -04:00
.golangci.yml feat(ci): add CD/CI pipelines 2023-07-13 11:09:32 -04:00
.goreleaser.yml build: fix aur project name 2023-07-25 17:14:41 +00:00
attachments.go SMTP Support (#17) 2023-07-31 10:32:02 -04:00
CONTRIBUTING.md Create CONTRIBUTING.md 2023-07-19 12:56:15 -04:00
Dockerfile fix(ci): add dockerfile 2023-07-13 11:33:55 -04:00
email.go fix: don't use cc and bcc for resend 2023-08-01 08:32:31 -04:00
go.mod SMTP Support (#17) 2023-07-31 10:32:02 -04:00
go.sum SMTP Support (#17) 2023-07-31 10:32:02 -04:00
go.work feat: email tui 2023-06-13 23:31:19 -04:00
go.work.sum SMTP Support (#17) 2023-07-31 10:32:02 -04:00
keymap.go SMTP Support (#17) 2023-07-31 10:32:02 -04:00
LICENSE chore: add LICENSE 2023-06-22 16:17:55 -04:00
main.go fix: remove extra completion cmd 2023-08-01 11:22:40 -04:00
model.go SMTP Support (#17) 2023-07-31 10:32:02 -04:00
README.md SMTP Support (#17) 2023-07-31 10:32:02 -04:00
style.go SMTP Support (#17) 2023-07-31 10:32:02 -04:00

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 "me@example.com" \
    --to "you@example.com" \
    --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 or configure an SMTP host.

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

Resend Configuration

To use the resend delivery method, set the RESEND_API_KEY environment variable.

export RESEND_API_KEY=$(pass RESEND_API_KEY)

SMTP Configuration

To configure pop to use SMTP, you can set the following environment variables.

export POP_SMTP_HOST=smtp.gmail.com
export POP_SMTP_PORT=587
export POP_SMTP_USERNAME=pop@charm.sh
export POP_SMTP_PASSWORD=hunter2

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 POP_FROM=pop@charm.sh
export POP_SIGNATURE="Sent with [Pop](https://github.com/charmbracelet/pop)!"

Installation

Use a package manager:

# macOS or Linux
brew install pop

# Nix
nix-env -iA nixpkgs.pop

# Arch (btw)
yay -S charm-pop-bin

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 "vt52@charm.sh" "vt78@charm.sh" "vt100@charm.sh")
    --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.

Feedback

Wed 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