fakemail is a tiny Elixir service that implements enough of Fastmail's
public JMAP, WebDAV, CalDAV, and CardDAV wire contracts for integration tests.
It intentionally avoids external dependencies so the integration suite can run without fetching Hex packages.
cd tests/fakemail
FAKEMAIL_PORT=4001 mix run --no-haltThe service prints its base URL on startup:
FAKEMAIL_URL=http://127.0.0.1:4001
The Go CLI only honors fakemail endpoint overrides when
FASTMAIL_TEST_MODE=1 is set.
The integration suite uses:
FASTMAIL_TOKEN=fakemail-token
FASTMAIL_USERNAME=fakemail@example.test
FASTMAIL_APP_PASSWORD=fakemail-app-password
FASTMAIL_TEST_JMAP_SESSION_URL=$FAKEMAIL_URL/jmap/session
FASTMAIL_TEST_CALDAV_URL=$FAKEMAIL_URL
State can be reset between tests with:
curl -X POST "$FAKEMAIL_URL/fakemail/reset"