My agentic slop goes here. Not intended for anyone else!
1# Query 9: Identity Management and Email Sending Configuration
2
3## Use Case Description
4Retrieve all configured email identities and examine recent email submissions to understand which identities are being used for different types of communications. This demonstrates identity management and submission tracking.
5
6## Key JMAP Concepts Used
7- **Identity/get**: Retrieving all configured sending identities
8- **Identity configuration**: Understanding sender profiles, signatures, and permissions
9- **EmailSubmission correlation**: Linking submissions to specific identities
10- **Multi-identity workflows**: Managing different sending personas
11- **Signature and formatting**: Understanding identity-specific content
12
13## JMAP Request
14
15```json
16{
17 "using": ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail"],
18 "methodCalls": [
19 [
20 "Identity/get",
21 {
22 "accountId": "u12345678",
23 "ids": null
24 },
25 "id0"
26 ],
27 [
28 "EmailSubmission/query",
29 {
30 "accountId": "u12345678",
31 "filter": {
32 "after": "2024-08-20T00:00:00Z"
33 },
34 "sort": [
35 {
36 "property": "created",
37 "isAscending": false
38 }
39 ],
40 "limit": 20
41 },
42 "sub0"
43 ],
44 [
45 "EmailSubmission/get",
46 {
47 "accountId": "u12345678",
48 "#ids": {
49 "resultOf": "sub0",
50 "name": "EmailSubmission/query",
51 "path": "/ids"
52 },
53 "properties": [
54 "id", "emailId", "identityId", "envelope", "created",
55 "deliveryStatus"
56 ]
57 },
58 "subg0"
59 ],
60 [
61 "Email/get",
62 {
63 "accountId": "u12345678",
64 "#ids": {
65 "resultOf": "subg0",
66 "name": "EmailSubmission/get",
67 "path": "/list/*/emailId"
68 },
69 "properties": [
70 "id", "from", "to", "cc", "subject", "sentAt", "preview"
71 ]
72 },
73 "eg0"
74 ]
75 ]
76}
77```
78
79## Expected Response Structure
80
81```json
82{
83 "methodResponses": [
84 [
85 "Identity/get",
86 {
87 "accountId": "u12345678",
88 "state": "id9876543218",
89 "list": [
90 {
91 "id": "I1",
92 "name": "John Doe",
93 "email": "john.doe@company.com",
94 "replyTo": null,
95 "bcc": null,
96 "textSignature": "John Doe\nSenior Software Engineer\nTech Company Inc.\nPhone: (555) 123-4567\njohn.doe@company.com",
97 "htmlSignature": "<div style=\"font-family: Arial, sans-serif;\"><strong>John Doe</strong><br>Senior Software Engineer<br>Tech Company Inc.<br>Phone: (555) 123-4567<br><a href=\"mailto:john.doe@company.com\">john.doe@company.com</a></div>",
98 "mayDelete": false
99 },
100 {
101 "id": "I2",
102 "name": "John D.",
103 "email": "j.doe@personal.com",
104 "replyTo": null,
105 "bcc": null,
106 "textSignature": "Best regards,\nJohn",
107 "htmlSignature": "<p><em>Best regards,<br>John</em></p>",
108 "mayDelete": true
109 },
110 {
111 "id": "I3",
112 "name": "John Doe - Support Team",
113 "email": "support@company.com",
114 "replyTo": [{"email": "support@company.com", "name": "Customer Support"}],
115 "bcc": [{"email": "support-archive@company.com", "name": "Support Archive"}],
116 "textSignature": "John Doe\nCustomer Support Specialist\nTech Company Inc.\n\nFor immediate assistance:\n- Phone: (555) 123-HELP\n- Portal: https://support.company.com\n- Hours: Mon-Fri 9am-6pm EST",
117 "htmlSignature": "<div style=\"border-top: 2px solid #0066cc; padding-top: 10px; font-family: Arial, sans-serif;\"><strong>John Doe</strong><br>Customer Support Specialist<br><strong style=\"color: #0066cc;\">Tech Company Inc.</strong><br><br><strong>For immediate assistance:</strong><br>📞 Phone: <a href=\"tel:+15551234357\">(555) 123-HELP</a><br>🌐 Portal: <a href=\"https://support.company.com\">support.company.com</a><br>🕒 Hours: Mon-Fri 9am-6pm EST</div>",
118 "mayDelete": true
119 }
120 ],
121 "notFound": []
122 },
123 "id0"
124 ],
125 [
126 "EmailSubmission/query",
127 {
128 "accountId": "u12345678",
129 "queryState": "sq1234567897",
130 "canCalculateChanges": true,
131 "position": 0,
132 "ids": ["ES301", "ES302", "ES303", "ES304", "ES305"],
133 "total": 23,
134 "limit": 20
135 },
136 "sub0"
137 ],
138 [
139 "EmailSubmission/get",
140 {
141 "accountId": "u12345678",
142 "state": "s9876543218",
143 "list": [
144 {
145 "id": "ES301",
146 "emailId": "Memail601",
147 "identityId": "I1",
148 "envelope": {
149 "mailFrom": "john.doe@company.com",
150 "rcptTo": ["team@company.com"]
151 },
152 "created": "2024-08-24T16:30:00Z",
153 "deliveryStatus": {
154 "team@company.com": "delivered"
155 }
156 },
157 {
158 "id": "ES302",
159 "emailId": "Memail602",
160 "identityId": "I3",
161 "envelope": {
162 "mailFrom": "support@company.com",
163 "rcptTo": ["customer@client.com", "support-archive@company.com"]
164 },
165 "created": "2024-08-24T14:15:00Z",
166 "deliveryStatus": {
167 "customer@client.com": "delivered",
168 "support-archive@company.com": "delivered"
169 }
170 },
171 {
172 "id": "ES303",
173 "emailId": "Memail603",
174 "identityId": "I2",
175 "envelope": {
176 "mailFrom": "j.doe@personal.com",
177 "rcptTo": ["friend@personal.net"]
178 },
179 "created": "2024-08-23T20:45:00Z",
180 "deliveryStatus": {
181 "friend@personal.net": "delivered"
182 }
183 }
184 ],
185 "notFound": []
186 },
187 "subg0"
188 ],
189 [
190 "Email/get",
191 {
192 "accountId": "u12345678",
193 "state": "s9876543218",
194 "list": [
195 {
196 "id": "Memail601",
197 "from": [{"email": "john.doe@company.com", "name": "John Doe"}],
198 "to": [{"email": "team@company.com", "name": "Engineering Team"}],
199 "cc": [],
200 "subject": "Sprint Planning - Next Week",
201 "sentAt": "2024-08-24T16:30:00Z",
202 "preview": "Team, let's schedule our sprint planning session for next week. I'll send out calendar invites..."
203 },
204 {
205 "id": "Memail602",
206 "from": [{"email": "support@company.com", "name": "John Doe - Support Team"}],
207 "to": [{"email": "customer@client.com", "name": "Valued Customer"}],
208 "cc": [],
209 "subject": "Re: Product Installation Issues - Resolution Provided",
210 "sentAt": "2024-08-24T14:15:00Z",
211 "preview": "Thank you for contacting our support team. I've investigated your installation issue and found the solution..."
212 },
213 {
214 "id": "Memail603",
215 "from": [{"email": "j.doe@personal.com", "name": "John D."}],
216 "to": [{"email": "friend@personal.net", "name": "Mike Friend"}],
217 "cc": [],
218 "subject": "Weekend Plans",
219 "sentAt": "2024-08-23T20:45:00Z",
220 "preview": "Hey Mike, are you still up for hiking this weekend? I found a great new trail..."
221 }
222 ],
223 "notFound": []
224 },
225 "eg0"
226 ]
227 ]
228}
229```
230
231## Explanation of Key Features
232
233### Identity Configuration Patterns
234
235**Professional Identity (I1):**
236- **Primary work email**: john.doe@company.com
237- **Full signature**: Complete contact information with title and company
238- **Corporate branding**: Professional signature formatting
239- **Non-deletable**: `mayDelete: false` indicates system-required identity
240
241**Personal Identity (I2):**
242- **Personal email**: j.doe@personal.com
243- **Casual presentation**: Shortened name "John D."
244- **Simple signature**: Minimal, informal closing
245- **User-managed**: `mayDelete: true` allows user to remove
246
247**Role-Based Identity (I3):**
248- **Shared address**: support@company.com (role-based email)
249- **Automatic BCC**: Archives all support communications
250- **Specialized signature**: Support-specific contact information and branding
251- **Reply-To override**: Ensures responses go to support queue
252
253### Identity Usage Patterns Analysis
254
255The EmailSubmission correlation reveals:
256- **I1 (Professional)**: Used for internal team communications
257- **I3 (Support Role)**: Used for customer support interactions
258- **I2 (Personal)**: Used for personal communications
259
260### Advanced Identity Features
261
262**Reply-To Configuration:**
263```json
264{
265 "replyTo": [{"email": "support@company.com", "name": "Customer Support"}]
266}
267```
268- Overrides the From address for replies
269- Useful for shared/role-based identities
270- Ensures responses reach appropriate inbox
271
272**Automatic BCC:**
273```json
274{
275 "bcc": [{"email": "support-archive@company.com", "name": "Support Archive"}]
276}
277```
278- Automatically copies all emails sent with this identity
279- Essential for compliance and record-keeping
280- Transparent to recipients
281
282**Signature Management:**
283- **Text signatures**: Plain text fallback for all email clients
284- **HTML signatures**: Rich formatting with links, styling, and branding
285- **Consistency**: Maintains professional appearance across communications
286
287### Identity Selection Logic
288
289Clients typically choose identities based on:
2901. **Recipient analysis**: Internal vs external recipients
2912. **Context matching**: Support emails use support identity
2923. **User preferences**: Manual selection or smart defaults
2934. **Domain alignment**: Match identity domain to recipient expectations
294
295### Identity Management Queries
296
297**Identity Usage Statistics:**
298```json
299{
300 "filter": {
301 "identityId": "I3",
302 "after": "2024-08-01T00:00:00Z"
303 }
304}
305```
306
307**Failed Submissions by Identity:**
308```json
309{
310 "filter": {
311 "operator": "AND",
312 "conditions": [
313 {"identityId": "I1"},
314 {"deliveryStatus": "failed"}
315 ]
316 }
317}
318```
319
320**Cross-Identity Communication Patterns:**
321```json
322{
323 "filter": {
324 "operator": "OR",
325 "conditions": [
326 {"identityId": "I1"},
327 {"identityId": "I3"}
328 ]
329 }
330}
331```
332
333### Business Applications
334
335**Professional Communication Management:**
336- **Context-appropriate identities**: Different personas for different audiences
337- **Brand consistency**: Standardized signatures and formatting
338- **Compliance tracking**: Archive copies for regulatory requirements
339- **Response management**: Proper Reply-To handling for shared addresses
340
341**Identity Lifecycle Management:**
342- **Onboarding**: Create role-based identities for new employees
343- **Role changes**: Update signatures and permissions as roles evolve
344- **Offboarding**: Disable or redirect identities when employees leave
345- **Audit compliance**: Track identity usage for security and compliance
346
347**Email Analytics and Optimization:**
348- **Identity performance**: Which identities generate most responses
349- **Signature effectiveness**: A/B testing different signature formats
350- **Communication patterns**: Understanding internal vs external email flow
351- **Resource allocation**: Optimizing support identity configurations based on volume
352
353### Security and Permissions
354
355**Identity Protection:**
356- `mayDelete: false` prevents accidental removal of critical identities
357- System identities (like primary work email) are typically protected
358- User-created identities allow customization and deletion
359
360**Access Control:**
361- Identity permissions may vary by user role
362- Some identities may require approval for creation/modification
363- Audit trails track identity configuration changes