ドキュメント本文へスキップ
API

メッセージを取得する

本文付きのメッセージ 1 通。取得することが既読の印になります。

GETapi.openemail.uk/temp-mail/inboxes/{id}/messages/{messageId}

実際の呼び出しを、ご自身のキーで自分のワークスペースに対して実行します。

GET /temp-mail/inboxes/{id}/messages/{messageId}

本文付きのメッセージ 1 通。取得することが既読の印になります。

受信箱トークン

shell
export OE=https://api.openemail.ukexport INBOX="Authorization: Bearer oe_inbox_kQ8v…"

以下のすべての呼び出しは、POST /temp-mail/inboxes が返したトークンを、API キーと同じ Authorization: Bearer ヘッダーに載せて送ります。アドレス自体は何も認可しません。この分離は形式ではなく、この機能の要点です。使い捨てアドレスは、発行されたその瞬間に、距離を置いておきたい相手へ渡されるものだからです。

パスの id は、トークンが指すのと同じ受信箱を指していなければなりません。受信箱はトークンだけで特定できるので二重の備えですが、これにより二つの受信箱を取り違えた呼び出し側は、誤ったメールを黙って読むのではなく 404 を受け取ります。

まず受信箱にスコープされた行を取得し、そのあとで本文を読みます。呼び出し側が渡した id でいきなりストレージへ向かえば、メッセージ id を持っている人が誰でも任意の受信箱を読めてしまいます。ストレージキーは権限ではないからです。

curl
curl "$OE/temp-mail/inboxes/tinb_9c2f41ab7d3e4c118a0f5d72/messages/tmail_4b81c07d2fa9418e93c6a13f" \  -H "$INBOX"
レスポンス
{  "object": "temp_message",  "id": "tmail_4b81c07d2fa9418e93c6a13f",  "from": { "name": "Acme", "email": "[email protected]" },  "to": "[email protected]",  "subject": "Confirm your email",  "snippet": "Your code is 481923…",  "spam": false,  "seen": true,  "attachmentCount": 1,  "sizeBytes": 8241,  "receivedAt": "2026-09-01T10:31:04.000Z",  "message": { "decodedBody": "<p>Your code is 481923</p>", "…": "…" },  "truncated": false}

表示には message.decodedBody を使ってください。ローカルで取り込まれたメッセージでは bodyprocessedHtml は空文字列です。使い捨て受信箱に届くメッセージはすべてそれに当たります。この 2 つのどちらかを読んで何も見つからない、という失敗を防ぐためにこの注記があります。

message は本物のメールボックスが保存しているのと同じオブジェクトを、射影せずそのまま渡したものです。この形こそがストレージのスキーマであり、ここに手書きのフィールド一覧を置けば、それは陳腐化する二つ目の説明になります。また、これは攻撃者が与えた HTML でもあるので、自分のオリジンの外でレンダリングしてください。

truncated は本文が 2 MB で切られたことを意味します。それ以外の点でメッセージは無傷で、何も失われていません。

保存された本文がすでに掃除済みの行は、3 フレーム先のパースで失敗するのではなく、「そのメッセージはすでに消去されています」という 404 を返します。