Connect a sending mailbox

Connect the mailboxes you send cold email from, check their health, and set daily and hourly caps.

Embed
Preview of the card
<a href="https://hermeticor.com/guides/connect-a-mailbox"><img src="https://hermeticor.com/guides/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/9a3da731-ded5-4536-b84f-8c9a61420ff4/pages/7e251417-d93f-4301-b67a-51a614a644ac/social-card.svg?v=3e7ae33eec8b" alt="Connect a sending mailbox" width="600" height="315"></a>

Sales outreach sends from real mailboxes, one person at a time. Hermeticor connects them, reads replies, and keeps each mailbox under its limits.

What you need first

  • One or more mailboxes on a domain you use for outreach (a separate domain such as outreach.example.com protects your main one).

  • SMTP and IMAP access for each, or a Google or Microsoft account.

  • SPF, DKIM and DMARC published for that domain.

  • A key with outbound:write.

1a. Connect SMTP mailboxes

You can connect one or many at once. Each row is checked live.

curl -s -X POST "$BASE/v1/outbound/mailboxes/bulk-connect" \
  -H "Authorization: Bearer $HERMETICA_API_KEY" -H "Content-Type: application/json" \
  -H "Idempotency-Key: mbx-ethan-1" \
  -d '{"rows":[{"name":"Ethan - outbound","email":"ethan@outreach.example.com","fromName":"Ethan from Acme",
       "host":"smtp.example.com","port":587,"user":"ethan@outreach.example.com","pass":"...",
       "imapHost":"imap.example.com"}]}'

A row that fails says why (DNS or sign-in). The IMAP host is what lets Hermeticor see replies and stop sequences.

1b. Or sign in with Google or Microsoft

curl -s -X POST "$BASE/v1/connections/oauth/google/start" \
  -H "Authorization: Bearer $HERMETICA_API_KEY" -H "Content-Type: application/json" \
  -d '{"name":"Ethan @ Acme","loginHint":"ethan@outreach.example.com"}'

Open the URL in the answer and finish in the browser. If your Hermeticor server has no Google or Microsoft app set up, this answers 412.

2. Check health

curl -s "$BASE/v1/outbound/mailboxes" -H "Authorization: Bearer $HERMETICA_API_KEY"
curl -s "$BASE/v1/outbound/mailboxes/<mailboxId>/daily" -H "Authorization: Bearer $HERMETICA_API_KEY"

Health covers the 7-day bounce and complaint rates and SPF, DKIM and DMARC. A mailbox whose 7-day bounce rate (default over 3%) or complaint rate (default over 0.1%) is too high is paused automatically, once it has sent at least 50 messages in the week and had at least two bounces or complaints, so one bad address never pauses a new mailbox. Change the limits with PUT /v1/deliverability/agent.

When that happens, GET /v1/connections/<mailboxId> shows why in config.pausedReason (metric, measured value, threshold, sample size and how to resume), and an alert and a recommendation open under /v1/deliverability/alerts and /v1/deliverability/recommendations (sent to your alert channels too). Clean the list, then resume with POST /v1/connections/<mailboxId>/resume; while the rate is still over the limit the next hourly check pauses it again. The alert resolves itself once the mailbox is active and under the limits.

3. Set caps and pacing

curl -s -X PATCH "$BASE/v1/outbound/mailboxes/<mailboxId>" \
  -H "Authorization: Bearer $HERMETICA_API_KEY" -H "Content-Type: application/json" \
  -d '{"dailyCap":40,"hourlyCap":10,"pacing":{"minGapSec":60,"jitterSec":120}}'

To cap every mailbox on one sending domain together:

curl -s -X PUT "$BASE/v1/outbound/domain-caps" \
  -H "Authorization: Bearer $HERMETICA_API_KEY" -H "Content-Type: application/json" \
  -d '{"domain":"outreach.example.com","dailyCap":120}'

Start low on a new mailbox and raise caps slowly.

Next: Prospects and sequences.

Updated