at.sovrn.mail.email
One message in a mirrored mail folder, after the JMAP Email (RFC 8621 §4), with the raw RFC 5322 message as a blob. Content is immutable. Header fields longer or more numerous than the limits here are shortened; raw always has the whole message. The record key is the base32 (lowercase, unpadded) of the first 20 bytes of the raw message's SHA-256, so it is the same in every folder and can be recomputed from an export. The folder is the space, so there is no mailboxIds; keywords are not mirrored.
Details · record, key any
| Kind | record |
|---|---|
| Record key | any |
| Authority | mail.sovrn.at |
| Indexed |
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "One message in a mirrored mail folder, after the JMAP Email (RFC 8621 §4), with the raw RFC 5322 message as a blob. Content is immutable. Header fields longer or more numerous than the limits here are shortened; raw always has the whole message. The record key is the base32 (lowercase, unpadded) of the first 20 bytes of the raw message's SHA-256, so it is the same in every folder and can be recomputed from an export. The folder is the space, so there is no mailboxIds; keywords are not mirrored.",
"key": "any",
"record": {
"properties": {
"attachments": {
"description": "JMAP attachments. The bytes are not stored separately: find each part in raw by partId.",
"items": {
"ref": "at.sovrn.mail.defs#bodyPart",
"type": "ref"
},
"maxLength": 256,
"type": "array"
},
"bcc": {
"items": {
"ref": "at.sovrn.mail.defs#emailAddress",
"type": "ref"
},
"maxLength": 1000,
"type": "array"
},
"cc": {
"items": {
"ref": "at.sovrn.mail.defs#emailAddress",
"type": "ref"
},
"maxLength": 1000,
"type": "array"
},
"from": {
"items": {
"ref": "at.sovrn.mail.defs#emailAddress",
"type": "ref"
},
"maxLength": 128,
"type": "array"
},
"hasAttachment": {
"description": "JMAP hasAttachment.",
"type": "boolean"
},
"inReplyTo": {
"description": "JMAP inReplyTo, without angle brackets.",
"items": {
"maxLength": 998,
"type": "string"
},
"maxLength": 64,
"type": "array"
},
"messageId": {
"description": "JMAP messageId: the Message-ID header's msg-ids, without angle brackets.",
"items": {
"maxLength": 998,
"type": "string"
},
"maxLength": 16,
"type": "array"
},
"preview": {
"description": "JMAP preview: plain text from the start of the body.",
"maxGraphemes": 256,
"maxLength": 1024,
"type": "string"
},
"raw": {
"accept": [
"message/rfc822"
],
"description": "The message exactly as stored (JMAP blobId content). Parse MIME parts and full headers from here.",
"maxSize": 104857600,
"type": "blob"
},
"receivedAt": {
"description": "JMAP receivedAt: when the message arrived in the mailbox.",
"format": "datetime",
"type": "string"
},
"references": {
"description": "JMAP references, without angle brackets.",
"items": {
"maxLength": 998,
"type": "string"
},
"maxLength": 512,
"type": "array"
},
"replyTo": {
"items": {
"ref": "at.sovrn.mail.defs#emailAddress",
"type": "ref"
},
"maxLength": 128,
"type": "array"
},
"sender": {
"items": {
"ref": "at.sovrn.mail.defs#emailAddress",
"type": "ref"
},
"maxLength": 16,
"type": "array"
},
"sentAt": {
"description": "JMAP sentAt: the Date header, as the mail server reports it (it may be in UTC).",
"format": "datetime",
"type": "string"
},
"size": {
"description": "JMAP size: octets of the raw message.",
"minimum": 0,
"type": "integer"
},
"source": {
"ref": "at.sovrn.mail.defs#emailSource",
"type": "ref"
},
"subject": {
"description": "JMAP subject: the decoded Subject header.",
"maxGraphemes": 1000,
"maxLength": 4096,
"type": "string"
},
"to": {
"items": {
"ref": "at.sovrn.mail.defs#emailAddress",
"type": "ref"
},
"maxLength": 1000,
"type": "array"
}
},
"required": [
"raw",
"receivedAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "at.sovrn.mail.email",
"lexicon": 1
}