An inbox from your terminal.
No browser, login or MCP setup is needed. Use curl with jq below, or Python's standard library. Send a test message from an app you control; these examples send no mail.
curl + jq
set +x
box=$(curl --fail --silent --show-error --max-time 15 'https://mailbyget.com/v1/mail/new?ttl_seconds=3600')
id=$(printf '%s' "$box" | jq -r .id)
token=$(printf '%s' "$box" | jq -r .read_token)
printf '%s' "$box" | jq '{address, expires_at}'
# Send your test email to the address, then read the inbox:
printf 'Authorization: Bearer %s\n' "$token" | \
curl --fail --silent --show-error --max-time 15 -H @- \
"https://mailbyget.com/v1/mail/inbox/$id"
# Replace MESSAGE_ID with an id returned by the inbox:
printf 'Authorization: Bearer %s\n' "$token" | \
curl --fail --silent --show-error --max-time 15 -H @- \
'https://mailbyget.com/v1/mail/message/MESSAGE_ID'Python: no extra packages
import json
from urllib.request import Request, urlopen
origin = "https://mailbyget.com"
def get(path, token=None):
headers = {"Authorization": "Bearer " + token} if token else {}
with urlopen(Request(origin + path, headers=headers), timeout=15) as response:
return json.load(response)
box = get("/v1/mail/new?ttl_seconds=3600")
print(box["address"])
# Send your test email to this address, then run:
inbox = get("/v1/mail/inbox/" + box["id"], box["read_token"])
for summary in inbox["messages"]:
message = get("/v1/mail/message/" + summary["id"], box["read_token"])
print(message["body_text"])Keep the token private. Do not enable shell tracing or log the creation response. Wait between polls and stop when the inbox expires.