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.

Repository @sovrn.at did:plc:54ba6vxrdbzi6nexczpk5xzb namespace authority
Details · record, key any
Kindrecord
Record keyany
Authoritymail.sovrn.at
Indexed
cid bafyreigztopph3ktnb3dfone6rfcwnr5ivhsj3j4kunfjgbjetzh2e6yn4

Checks

Valid Lint pass
JSONDownload
{
  "$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
}