Distributed Systems10 min read

Spacemail Is Down: What the August 2026 Outage Teaches About Provider Failures

A concise status snapshot of the current Spacemail incident, followed by a practical engineering guide to provider-wide outages, regional failover, degraded modes, and safe recovery.

Editorial disclosure

Official Spaceship status updates are the authority for current incident scope and cause. Everything after the status section is general reliability guidance; the playbook and lab are fictional and do not describe Spaceship’s internal architecture.

spacemailspaceshipoutageregional failoverprovider outageincident response

If you are checking whether Spacemail is down, the official answer at 2026-08-13 20:28 UTC is that Spacemail remains listed in an ongoing Spaceship incident. The official status account says a power outage at its Phoenix datacenter affected Spacemail and several other services. It has reported recovery for some payment paths, but it has not published a Spacemail all-clear or a recovery ETA in the status sequence checked for this article.

Current Spacemail status

Last checked: 2026-08-13 20:28 UTC.

Confirmed by @SpaceshipStatus: the incident is associated with a power outage at the Phoenix datacenter. The affected-service list names Spacemail, EasyWP, Spaceship VPS virtual machines, volumes and load balancers, Email Support, Spaceship Email Forwarding, billing and external payment processing, and websites hosted on Shared servers. Later posts say external confirmation-based payments and BTCPay were restored. Those are payment updates, not a general recovery notice for Spacemail.

If you are affected, follow the official status account and preserve your current DNS, MX, client, and mailbox configuration until the provider publishes recovery guidance.

info

Status at last check: ongoing, with partial recovery reported for payment paths and no official Spacemail all-clear. The official account is the authority for any later change.

The engineering problem is correlated dependency failure

A provider-wide incident is different from one failed API call. Multiple products, regions, or delivery paths can share a datacenter, control plane, identity service, network edge, or power and cooling domain. A dependency diagram may show several boxes while the physical failure domain underneath them is still one box.

The motivating incident is a prompt to ask a broader question: which application features fail together when one external location or provider control plane is unavailable? The answer is not visible in a vendor count. It comes from mapping routes, credentials, DNS, queues, callbacks, administration paths, and recovery controls to their real failure domains.

This is an engineering inference and general reliability lesson, not a claim about Spaceship’s internal design.

First decide: provider, application, DNS, or configuration

  1. 1Confirm the user-visible symptom and record exact timestamps, regions, accounts, protocols, and error classes.
  2. 2Check the provider’s official incident channel, but do not let a vague status replace your own boundary tests.
  3. 3Probe from at least two independent networks or regions so a local resolver or egress issue does not masquerade as a provider outage.
  4. 4Compare direct protocol health with application behavior. If the endpoint is healthy but the app fails, inspect credentials, timeouts, pools, proxies, and recent configuration changes.
  5. 5Freeze unrelated DNS and configuration changes until evidence points to them. Emergency edits create a second incident surprisingly often.

A provider outage, bad DNS answer, expired credential, blocked egress path, and application regression can all surface as timeouts or connection failures. They demand different fixes.

Start with independent evidence. Compare the provider’s official status with synthetic checks from more than one network or region. Resolve the hostname through authoritative and recursive DNS. Test the protocol endpoint without the application. Compare multiple tenants or accounts. Check recent deploys and configuration changes. A broad provider-side pattern should be reproducible outside one application and align with provider evidence; an app-specific failure usually stops at a narrower boundary.

Map the blast radius before choosing failover

Blast-radius mapping is not a list of products from a status page. It is a map from affected dependency capabilities to your user journeys. For an email dependency, inbound mail, outbound mail, mailbox access, authentication messages, support replies, billing notices, and administrative recovery may have different paths even when they share one provider name.

Mark each journey as unavailable, degraded, delayed, or unaffected. Then identify which paths are reversible. Delaying a notification can be safe when its intent is durable; routing authentication mail incorrectly or duplicating a billing message may be worse than pausing it. This keeps the team from applying one global failover switch to workflows with different correctness requirements.

Separate the data path, control path, and recovery path. They may fail together even when the architecture diagram shows multiple components.
APP TRAFFIC
  → provider hostname
  → global routing policy
  → primary region

CONTROL PATH
  → provider dashboard
  → provider identity/control plane

RECOVERY PATH
  → health signal
  → failover decision
  → secondary region

For each user journey, record the data path, control path, and recovery path. Ask whether operators can still change routing when the provider dashboard, identity system, or support channel is affected. Ask whether health signals are generated outside the failed region. Ask where queued work and durable state live. A recovery control that depends on the failed domain is not an independent recovery control.

A secondary region is not failover until routing uses it

Teams often configure a secondary region and assume they now have high availability. The real system includes health evaluation, routing policy, credentials, network allowlists, replicated configuration, state consistency, and the decision process that moves traffic. If any one of those still pins requests to the unhealthy primary, the secondary is capacity, not failover.

Routing policy should be explicit and testable: prefer the healthy primary, use the healthy secondary when the primary is ineligible, and fail closed when neither route is safe. Do not spread retry attempts across unhealthy targets without a budget. A stale health signal can cause flapping; an over-broad catch can send the same side effect twice. The failover unit therefore needs bounded decisions, stable operation identity, and observable route selection.

Health checks must test the path users need

  1. 1Probe DNS resolution and connection establishment from independent vantage points.
  2. 2Test authentication and one harmless protocol operation instead of relying on an edge-level HTTP 200.
  3. 3Use an isolated synthetic transaction for end-to-end delivery when that can be done without customer data.
  4. 4Record which layer failed and which region produced the signal; avoid one global healthy/unhealthy boolean.
  5. 5Require a minimum healthy period before routing traffic back so recovery does not flap.
  6. 6Bound health-check frequency and timeout so probes do not add load to a struggling dependency.
warning

Do not add multi-provider routing by default. Operate it only when the business impact justifies the extra failure modes and the team can continuously test credentials, policy parity, deduplication, compliance, and recovery.

Choose a degraded mode deliberately

Failover is not always the safest response. A secondary provider or region adds configuration drift, data residency, deliverability, suppression-list, template, credential, and duplicate-operation risks. Some systems should queue work durably and show a delayed state; others need an alternate channel; still others should stop rather than risk an incorrect or duplicate action.

Define the degraded-mode contract before the incident. State what remains available, what is delayed, how long work can queue, what users will see, and which operator can escalate to failover. For critical access flows, build a recovery path that does not depend on the same provider and control plane. For non-critical notifications, preserve intent and expose queue age instead of pretending delivery succeeded.

Recovery is a separate phase

  1. 1Require sustained healthy signals from the actual user path, not one successful probe.
  2. 2Compare primary and secondary configuration, credentials, queues, and state before moving traffic.
  3. 3Restore traffic in stages and watch errors, latency, queue age, duplicate rate, and delivery confirmation.
  4. 4Drain or reconcile queued work with stable idempotency keys before normal retry rates resume.
  5. 5Fail back only after the primary has remained healthy for the agreed window and the reason for the original route change is understood.
  6. 6Record the evidence that closed the incident, including paths tested and any deferred repair work.

Use the provider-outage playbook, then debug the failover lab

Buglyst’s provider-outage playbook turns this article into an operational sequence: distinguish provider failure from app or DNS failure, map blast radius, inspect health and routing, select a degraded mode, and prove recovery. It is designed to remain useful after this incident is resolved.

The playbook links to a fictional JavaScript lab where the primary region is known unhealthy, a healthy secondary exists, and delivery still goes to the primary because the route selector ignores health. The exercise is deliberately narrow: find the routing bug, make the smallest defensible correction, and pass visible and hidden checks without learning anything about a real provider’s internals.

Frequently asked questions

How do you distinguish a provider outage from a DNS or application problem?

Compare official provider evidence with independent probes from multiple networks or regions, authoritative and recursive DNS answers, direct protocol checks, multiple accounts, and recent application or configuration changes. Stop at the narrowest boundary supported by evidence.

Does having a secondary region mean failover is ready?

No. Failover also requires relevant health signals, routing policy, working credentials, network access, compatible configuration, safe state handling, and a tested decision path that can select the secondary.

Should every application use multiple providers?

No. Multi-provider operation introduces routing, data, compliance, credential, consistency, and duplicate-action risks. Use it when the business impact justifies those costs and the team can test it continuously.

When is it safe to fail back to the primary region?

After the primary has shown sustained health on the real user path, queued work and state are reconciled, staged traffic is stable, and the team understands why traffic moved away in the first place.

Use the evergreen incident playbook

Diagnose the outage before changing production

Follow a reusable sequence for provider-wide incidents: establish scope, test routing and failover, choose a degraded mode, and prove recovery before restoring traffic.