Feature request: add/connect SMTP send-as addresses via CLI

Open
#454 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
go
Domain
api, cli

Research direction

Start by tracing the existing hey account senders and hey compose --from entry points, then investigate which HEY API capabilities support the web “Connect an Address” flow. Define the supported add, status, and removal paths and verify that the resulting sender can be listed and selected with compose --from.

Written by the indexing model from the issue text.

Description

Context

Agents and automation can now select a configured sender once #452 / #353 land in a release (hey account senders, hey compose --from).

Connecting a new send-as address (SMTP / “Connect an Address” under Forwarding & Sending in the web app) is still web-only. For agent workflows that need a custom domain or external address end-to-end, setup still requires a human in the HEY UI before the CLI can send as that address.

No account-specific details below — capability request only.


Ask

Expose CLI (and ideally agent-friendly JSON) support to manage send-as / SMTP senders, for example:

  1. List — already coming as hey account senders (#452); keep that.
  2. Add / connect — something like:
    • hey account senders add / hey account senders connect
    • Accept SMTP host, port, username, auth (password or a secure prompt), and the From address
    • Or a guided flow that mirrors the web “Connect an Address” steps where the API allows it
  3. Status — show verification / connection state for a sender (pending verify, active, failed).
  4. Remove / disconnect — optional but useful for agents cleaning up.

OAuth-based providers (Gmail/Outlook) may need a browser step; even documenting that and supporting password SMTP fully in CLI would unblock custom-domain / generic SMTP setups.


Why

With --from alone, agents can only use senders a person already connected in the app. Adding CLI connect closes the loop: provision send-as → list → compose --from without leaving the terminal / agent harness.

Related: #353 (choose sender — resolved by #452). This issue is the provisioning half, not selection.


Out of scope (unless easy)

  • IMAP / fetching external mail (HEY doesn’t do that; fine to leave out)
  • Persisting a default sender (called out as follow-up in #452)
Dominant language
Go
Stars
376
Forks
44
Avg merge
1d 5h
Merged PRs (30d)
130

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from basecamp/hey-cli

All issues in basecamp/hey-cli

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.