• Stars
    star
    2,382
  • Rank 19,302 (Top 0.4 %)
  • Language
    Go
  • License
    MIT License
  • Created over 1 year ago
  • Updated 27 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Send emails from your terminal πŸ“¬

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 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 [email protected]
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 [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
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 "[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.

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

More Repositories

1

bubbletea

A powerful little TUI framework πŸ—
Go
26,561
star
2

gum

A tool for glamorous shell scripts πŸŽ€
Go
17,705
star
3

glow

Render markdown on the CLI, with pizzazz! πŸ’…πŸ»
Go
15,692
star
4

vhs

Your CLI home video recorder πŸ“Ό
Go
14,678
star
5

lipgloss

Style definitions for nice terminal layouts πŸ‘„
Go
7,832
star
6

bubbles

TUI components for Bubble Tea 🫧
Go
5,325
star
7

soft-serve

The mighty, self-hostable Git server for the command line🍦
Go
5,174
star
8

huh

Build terminal forms and prompts πŸ€·πŸ»β€β™€οΈ
Go
3,994
star
9

wish

Make SSH apps, just like that! πŸ’«
Go
3,428
star
10

freeze

Generate images of code and terminal output πŸ“Έ
Go
3,091
star
11

mods

AI on the command line
Go
2,830
star
12

glamour

Stylesheet-based markdown rendering for your CLI apps πŸ’‡πŸ»β€β™€οΈ
Go
2,369
star
13

charm

The Charm Tool and Library 🌟
Go
2,351
star
14

log

A minimal, colorful Go logging library πŸͺ΅
Go
2,284
star
15

skate

A personal key value store πŸ›Ό
Go
1,326
star
16

wishlist

The SSH directory ✨
Go
1,074
star
17

harmonica

A simple, physics-based animation library 🎼
Go
1,020
star
18

melt

Backup and restore Ed25519 SSH keys with seed words 🫠
Go
579
star
19

kancli

A tutorial for building a command line kanban board in Go
Go
172
star
20

vhs-action

Keep your GIFs up to date with VHS + GitHub actions πŸ“½οΈ
TypeScript
163
star
21

bubbletea-app-template

A template repository to create Bubbletea apps.
Go
131
star
22

x

Charm experimental packages
Go
125
star
23

keygen

An SSH key pair generator πŸ—οΈ
Go
109
star
24

taskcli

A tutorial for building a Taskwarrior-inspired task tracker in Go using glamorous CLI libraries
Go
97
star
25

inspo

Share and explore projects you can build with Charm libraries
93
star
26

wizard-tutorial

A basic wizard made with Bubble Tea and Lip Gloss. Follow along with the tutorial video for this project:
Go
81
star
27

tree-sitter-vhs

Syntax highlighting for VHS with tree-sitter 🌳
JavaScript
79
star
28

confettysh

confetti over ssh
Go
56
star
29

git-lfs-transfer

Server-side implementation of the Git LFS pure-SSH protocol
Go
50
star
30

catwalk

Open source 3D models from Charm 🧸
50
star
31

soft-serve-action

Synchronize GitHub repositories to your Soft Serve instance 🍦
47
star
32

promwish

Prometheus middleware for Wish
Go
41
star
33

meta

Charm's meta configuration files πŸ«₯
25
star
34

hotdiva2000

A human-readable random string generator πŸ‘‘
Go
25
star
35

homebrew-tap

Our homebrew tap 🍺
Ruby
23
star
36

scoop-bucket

Charmbracelet Scoop Bucket
15
star
37

nur

Nix
14
star
38

.github

Default community health files
2
star