API
첨부 목록
메시지 하나의 파트들과 그 바이트를, base64로.
GETapi.openemail.uk/temp-mail/inboxes/{id}/messages/{messageId}/attachments
본인 키로 워크스페이스에 실제 호출을 실행합니다.
GET /temp-mail/inboxes/{id}/messages/{messageId}/attachments
메시지 하나의 파트들과 그 바이트를, base64로.
받은편지함 토큰
export OE=https://api.openemail.ukexport INBOX="Authorization: Bearer oe_inbox_kQ8v…"아래 모든 호출은 POST /temp-mail/inboxes가 반환한 토큰을, API 키와 같은 Authorization: Bearer 헤더에 담아 보냅니다. 주소 자체는 아무것도 인가하지 않으며, 그 분리는 형식이 아니라 이 기능의 핵심입니다. 일회용 주소는 발급되는 순간 당신이 거리를 두려는 상대에게 건네지기 때문입니다.
경로의 id는 토큰이 가리키는 것과 같은 받은편지함이어야 합니다. 토큰만으로도 하나가 식별되므로 이중 안전장치이지만, 덕분에 두 받은편지함을 헷갈린 호출자가 엉뚱한 메일을 조용히 읽는 대신 404를 받게 됩니다.
예제
파트마다 따로 가져오는 목록 + 조회 대신, 메타데이터와 내용을 한 번에 돌려줍니다. 일회용 받은편지함에는 작은 파일 몇 개가 담기며, 그 크기에서 PDF 하나를 읽으려고 왕복 두 번을 도는 것은 잘못된 교환입니다.
curl "$OE/temp-mail/inboxes/tinb_9c2f41ab7d3e4c118a0f5d72/messages/tmail_4b81c07d2fa9418e93c6a13f/attachments" \ -H "$INBOX"{ "object": "list", "data": [ { "object": "attachment", "attachmentId": "tmail_4b81c07d2fa9418e93c6a13f-0", "filename": "invoice.pdf", "contentType": "application/pdf", "size": 12345, "content": "JVBERi0xLjQKJc…" } ]}content는 파트가 8 MB 저장 상한을 넘었을 때 null입니다. 그것은 빈 파일이 아니며, 바로 그래서 메타데이터는 어느 쪽이든 제공됩니다. 덕분에 클라이언트가 0바이트 다운로드를 보여주는 대신 "보관하기에 너무 큼"이라고 말할 수 있습니다.
이 바이트는 공격자가 제공한 것이며 익명 발신자로부터 받아들인 것입니다. 이를 렌더링하는 무엇이든 앱의 오리진 바깥에서 해야 합니다.