Repository navigation
Mailboxes page: add a sending mailbox with just its address and password - #112
Merged
Merged
Conversation
A Swokei-style Mailboxes page (/mailboxes, linked from Settings) for the addresses cold email is sent from: - Add mailbox: Google / Microsoft / "Any other provider (IMAP and SMTP)" tiles, then email + password. Servers are detected from the address (known domains, MX provider, Mozilla ISPDB autoconfig, then a labelled smtp./imap. guess). Daily limit and warm-up set in the same step. - Connecting now logs in over IMAP as well as SMTP, so a mailbox that sends but cannot be read fails on the form instead of silently never showing a reply. - Each mailbox card: health score (warm-up progress minus bounces, a stopped account and unread replies), bounce risk over 30 days, sent today / cap, warm-up day, when its inbox was last read and the last IMAP error (migration 0047, written by the reply poller), and an SPF / DKIM / DMARC / MX check with what to add. - API: GET /mailboxes, POST /mailboxes/detect, GET /mailboxes/:id/dns. - CLI: og mailboxes [detect|dns|add]; MCP: list_mailboxes, check_mailbox_dns. The single-mailbox form on Settings is replaced by a link to the page; the social sending accounts panel stays there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ralyodio
added a commit
that referenced
this pull request
Oct 6, 2026
…alive (#113) Every dev2 deploy on 2026-10-06 failed the same way: the runtime stage's RUN chown -R bun:bun /app walked all of node_modules for over four minutes without printing, and the runner's idle SSH session was dropped (Broken pipe, exit 255). Production stayed on the last good image, so merged changes (including #112) never reached outreachgraph.com. Copy the Next build with --chown=bun:bun (the only tree written at runtime) and drop the recursive chown; add ServerAliveInterval to the deploy's ssh calls. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Anthony asked for a way to add a mailbox to outreachgraph.com, with UX like Swokei's
/mailboxes, for fully automated cold email.What ships
/mailboxespage, linked from Settings. It has a stats strip and one card per mailbox, with an empty state that prompts for the first connection.Add mailbox dialog, in the Swokei flow:
Detection (
POST /api/v1/mailboxes/detect) tries, in order:smtp./imap.guessLive checks:
anthony@profullstack.com→ Forward Email, andanthropic.comandoctavehot.org→ Google Workspace.Connect verifies IMAP too. Before this, only SMTP was checked, which is how a mailbox sent about 280 emails and never read a reply.
Per-mailbox health:
DNS check (
GET /api/v1/mailboxes/:id/dns): SPF (including whether it names the provider), DKIM (known selectors), DMARC and MX, each with the record to add. Live result for profullstack.com: SPF, DMARC and MX pass, and DKIM warns because Forward Email'sfe-…selector can't be looked up from outside.CLI:
og mailboxes,og mailboxes detect|dns|add <email>.addreads the password from a hidden prompt orOG_MAILBOX_PASSWORD.MCP:
list_mailboxes,check_mailbox_dns.Sending rotation, sticky per-lead mailboxes, warm-up and bounce auto-pause already exist (sender pool, #91). This PR is the page, onboarding and health on top of them.
Not included
Checks
mailboxes.test.ts,senders.test.ts), CLI and MCP all pass locally.bun run typecheckandapps/webtsc --noEmitare clean./mailboxesrendered against a local API with seeded mailboxes.🤖 Generated with Claude Code