send_email
Send emails from verified LobsterMail inboxes. Compose messages with text or HTML, add recipients and CCs, and reply within threads using Message-ID.
Instructions
Send an email from an inbox. Requires a verified account (Tier 1+). To reply within a thread, provide in_reply_to with the Message-ID of the email being replied to.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| inbox_id | Yes | Inbox ID to send from | |
| to | Yes | Recipient email addresses | |
| subject | Yes | Email subject | |
| body_text | Yes | Plain text email body | |
| body_html | No | HTML email body (optional) | |
| cc | No | CC recipients | |
| in_reply_to | No | Message-ID of the email being replied to (enables threading) |
Implementation Reference
- src/index.ts:190-222 (handler)The tool registration and handler implementation for 'send_email' in src/index.ts. It defines the input schema for email sending and uses an inbox object to dispatch the email.
server.registerTool('send_email', { title: 'Send Email', description: 'Send an email from an inbox. Requires a verified account (Tier 1+). ' + 'To reply within a thread, provide in_reply_to with the Message-ID of the email being replied to.', inputSchema: { inbox_id: z.string().describe('Inbox ID to send from'), to: z.array(z.string()).describe('Recipient email addresses'), subject: z.string().describe('Email subject'), body_text: z.string().describe('Plain text email body'), body_html: z.string().optional().describe('HTML email body (optional)'), cc: z.array(z.string()).optional().describe('CC recipients'), in_reply_to: z.string().optional().describe('Message-ID of the email being replied to (enables threading)'), }, }, async ({ inbox_id, to, subject, body_text, body_html, cc, in_reply_to }) => { const inbox = await getInbox(inbox_id); const result = await inbox.send({ to, cc, subject, body: { text: body_text, html: body_html }, inReplyTo: in_reply_to, }); return { content: [ { type: 'text' as const, text: `Email queued for delivery.\n\nEmail ID: ${result.id}\nStatus: ${result.status}`, }, ], }; });