M25 Mail
Manage email domains and mailboxes on M25 mail infrastructure. Data syncs to Postfix/Dovecot Pi nodes every minute via poll-based sync.
Endpoints (9)
Register a mail domain. Pi nodes will pick it up on next sync cycle (~1 min).
| Field | Type | Required | Description |
|---|---|---|---|
domain |
string | ✓ Yes | Domain name to register (e.g. "example.nl"). |
Remove a mail domain. Fails if active users still exist on the domain.
| Field | Type | Required | Description |
|---|---|---|---|
domain |
string | ✓ Yes | Domain name to remove. |
List all registered mail domains with user counts.
No input parameters required.
Create a mailbox. Password is bcrypt-hashed with {BLF-CRYPT} prefix for Dovecot. Domain must be registered first.
| Field | Type | Required | Description |
|---|---|---|---|
email |
string | ✓ Yes | Full email address (e.g. "jan@example.nl"). |
password |
string | ✓ Yes | Plain text password — will be bcrypt-hashed before storage. |
quota_mb |
integer | No | Mailbox quota in MB (default: 1024). |
Remove a mailbox. Default is soft delete (active=0). Use hard_delete=true to remove entirely.
| Field | Type | Required | Description |
|---|---|---|---|
email |
string | ✓ Yes | Email address of the mailbox to remove. |
hard_delete |
boolean | No | If true, deletes the row entirely. If false (default), sets active=0. |
List all mailbox users. Optionally filter by domain.
| Field | Type | Required | Description |
|---|---|---|---|
domain |
string | No | Filter users by domain (e.g. "example.nl"). |
Change the password of an existing mailbox user.
| Field | Type | Required | Description |
|---|---|---|---|
email |
string | ✓ Yes | Email address of the user. |
password |
string | ✓ Yes | New plain text password — will be bcrypt-hashed. |
List all registered Pi sync nodes with last sync timestamp.
No input parameters required.
Register a new Pi sync node. Generates a unique sync key.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | ✓ Yes | Node identifier (e.g. "mpi02"). |
ip_address |
string | No | Optional IP whitelist for extra security. |
MCP Tool Names
When using this integration through an AI assistant (Claude, ChatGPT, Cursor, etc.), the endpoints are available as MCP tools:
| Endpoint | MCP Tool Name |
|---|---|
| add-domain | m25_mail_add_domain |
| remove-domain | m25_mail_remove_domain |
| list-domains | m25_mail_list_domains |
| add-user | m25_mail_add_user |
| remove-user | m25_mail_remove_user |
| list-users | m25_mail_list_users |
| update-password | m25_mail_update_password |
| list-nodes | m25_mail_list_nodes |
| add-node | m25_mail_add_node |