77 lines
4.1 KiB
Markdown
77 lines
4.1 KiB
Markdown
---
|
|
created: 2026-08-28
|
|
modified: 2026-08-28
|
|
type: project
|
|
client: sam
|
|
project: web-host-migration
|
|
status: pending
|
|
priority: 2
|
|
tags:
|
|
- migration
|
|
- email
|
|
- ses
|
|
- zoho
|
|
- mxroute
|
|
aliases:
|
|
- phase-2-email
|
|
id: 1848129020-P2
|
|
---
|
|
# Phase 2 — Email (inbound mailboxes + transactional outbound)
|
|
|
|
> Part of [[Migration Plan — InMotion to Local + AWS Offsite]].
|
|
> Blocked-by: none (can run parallel to Phase 1). Depends-on decision D3/D5/D6.
|
|
|
|
## Goal
|
|
Deliver working email: **real inbound mailboxes** (webmail/IMAP) + **transactional outbound** per site — with deliverability credibility (reputation isolation, SPF/DKIM/DMARC).
|
|
|
|
## Decisions (from main plan)
|
|
- **Inbound:** managed provider — **Zoho Mail** (free ≤5 users). Chosen for `audasmedia.com.au` + `where-woof.com` first; more domains later.
|
|
- **Outbound:** **Amazon SES** (~0.10/1000, effectively free at low volume).
|
|
- Both on separate reputation islands (don't send transactional from mailbox provider).
|
|
|
|
## DNS dependency (IMPORTANT — 2026-08-28)
|
|
Both domains are authoritative on **InMotion nameservers** (`ns1/ns2.inmotionhosting.com`), so MX/SPF/DKIM/DMARC records must be added there today. User chose to **HOLD OFF on moving DNS to Cloudflare** until InMotion infra is fully retired (defer; avoid outage risk).
|
|
- `audasmedia.com.au` A → `173.231.229.92` (still InMotion VPS)
|
|
- `where-woof.com` A → `144.6.86.11` (static IP, already local)
|
|
- **Not blocked by DNS:** Amazon SES domain verification + outbound config can proceed now (verification tokens/CNAME are added later with records).
|
|
|
|
## Sub-steps
|
|
|
|
### 2.1 Inbound mailboxes (user + config)
|
|
- [ ] Pick provider (Zoho / MXroute).
|
|
- [ ] Register custom domain mailbox(es) e.g. `hello@where-woof.com` + site addresses.
|
|
- [ ] Set **MX records** on each domain → provider.
|
|
- [ ] Add `TXT` SPF (include provider + SES), `DKIM` (provider + SES), `DMARC`.
|
|
- [ ] Connect responders: Zoho webmail + Thunderbird/Gmail app via IMAP (993)/SMTP (465) if paid IMAP tier.
|
|
|
|
### 2.2 Outbound transactional (SES)
|
|
- [ ] Verify sending domains/emails in SES (`samuelrolfe@gmail.com`, site domains).
|
|
- [ ] Configure SPF/DKIM; **exit SES sandbox** (ticket/limit increase).
|
|
- [ ] Optionally use **FLoci** (localhost:4566) to develop/test the SES API integration offline first.
|
|
|
|
### 2.3 Site integration (later, with CMS migration project)
|
|
- [ ] Point site forms / password reset / notifications → SES SMTP or API.
|
|
- (CMS code changes are the separate migration project — only wire-up decisions here.)
|
|
|
|
### 2.4 Monitor
|
|
- [ ] Check bounces/complaints/deliverability dashboard.
|
|
|
|
## Acceptance criteria
|
|
- Can receive into a real mailbox and read via webmail/IMAP.
|
|
- Can send a test transactional email through SES successfully (not sandbox-blocked).
|
|
- DNS passes SPF/DKIM/DMARC checks (use MXToolbox).
|
|
|
|
## OUTBOUND CHECKLIST — before websites send live mail (added 2026-09-01)
|
|
- [ ] **Request SES production access** (free; ~hours approval) — required for sites to email *any* user (sandbox only sends to verified addresses): SES → Account dashboard → Request production access.
|
|
- [ ] **Get SES SMTP credentials** (SES → SMTP Settings → create SMTP user; region ap-southeast-2; port 587 STARTTLS or 465 TLS).
|
|
- [ ] **Wire website/app** to send FROM `hello@<domain>` via SES SMTP/API (sender + auth set in site config).
|
|
- [ ] Send a live test FROM `hello@where-woof.com` → external address; verify DKIM/spf=pass.
|
|
- [ ] (Later, optional) tighten DMARC from `p=none` to `p=quarantine` once legitimate traffic is established.
|
|
|
|
## Personal sending options (as of 2026-09-01)
|
|
- **Gmail "Send mail as"** → add `hello@where-woof.com` as an alias, outgoing via SES SMTP → send as where-woof from Gmail compose. Free.
|
|
- **Thunderbird**: keep IMAP = Gmail (where mail lands), set **SMTP = SES** → send as where-woof.com. Free.
|
|
- **PurelyMail** (~$10/yr, real domain mailboxes + IMAP/SMTP/POP) → alternative when real org mailboxes are wanted; gives Thunderbird native IMAP on your domain + independent storage. Deferred decision — current Cloudflare→Gmail stays $0.
|
|
|
|
---
|
|
*See [[Migration Plan — InMotion to Local + AWS Offsite]] §6.* |