mailtarget-email
v1.2.0Send transactional and marketing emails via Mailtarget API. Manage sending domains, templates, API keys, and sub-accounts. Use when the agent needs to send emails, manage email templates, configure sending domains, or handle any email infrastructure task through Mailtarget (mailtarget.co). Supports...
Installation
Mailtarget Email
Send emails and manage email infrastructure via the Mailtarget API.
Setup
Set the MAILTARGET_API_KEY environment variable with your Mailtarget API key.
Get your API key from the Mailtarget dashboard → Settings → API Keys.
Sending Email
Use curl or any HTTP client. All requests go to https://transmission.mailtarget.co/v1 with Authorization: Bearer $MAILTARGET_API_KEY.
Simple send
curl -X POST https://transmission.mailtarget.co/v1/layang/transmissions
-H "Authorization: Bearer $MAILTARGET_API_KEY"
-H "Content-Type: application/json"
-d '{
"to": [{"email": "[email protected]", "name": "Recipient"}],
"from": {"email": "[email protected]", "name": "Your App"},
"subject": "Hello from Mailtarget",
"bodyHtml": "<h1>Hello!</h1><p>This is a test email.</p>",
"bodyText": "Hello! This is a test email."
}'
A successful response returns {"message": "Transmission received", "transmissionId": "..."}.
Template-based send
Use templateId with substitutionData instead of bodyHtml/bodyText:
{
"to": [{"email": "[email protected]", "name": "User"}],
"from": {"email": "[email protected]", "name": "Your App"},
"subject": "Welcome, {{name}}!",
"templateId": "welcome-template",
"substitutionData": {"name": "User", "company": "Acme"}
}
Tracking options
Control click and open tracking per transmission:
{
"optionsAttributes": {
"clickTracking": true,
"openTracking": true,
"transactional": true
}
}
Set transactional: true for transactional emails (password resets, receipts) to bypass unsubscribe preferences.
Attachments
Include base64-encoded attachments:
{
"attachments": [{
"filename": "report.pdf",
"mimeType": "application/pdf",
"value": "<base64-encoded-content>"
}]
}
Managing Templates
- List:
GET /template?page=1&size=10&search=keyword - Create:
POST /templatewith{"id": "slug", "name": "Display Name", "html": "<html>..."}
Managing Sending Domains
- List:
GET /domain/sending - Create:
POST /domain/sendingwith{"domain": "example.com"} - Verify:
PUT /domain/sending/{id}/verify-txt - Check SPF:
GET /domain/sending/{id}/spf-suggestion
Autonomous Domain Setup (with cloudflare-dns skill)
When paired with the cloudflare-dns skill, the agent can set up a sending domain end-to-end with zero manual DNS editing:
- Create sending domain:
POST /domain/sendingwith{"domain": "example.com"} - Read required DNS records from the response:
spfHostname,spfValue,dkimHostname,dkimValue,cnameHostname,cnameValue - Add SPF TXT record in Cloudflare using
spfHostnameandspfValue - Add DKIM TXT record in Cloudflare using
dkimHostnameanddkimValue - Add CNAME record in Cloudflare using
cnameHostnameandcnameValue(setproxied: false) - Verify domain:
PUT /domain/sending/{id}/verify-txt - Confirm status via
GET /domain/sending/{id}— checkspfVerified,dkimVerified,cnameVerified
Install the companion skill: clawhub install cloudflare-dns
Getting Started
New to Mailtarget + OpenClaw? See references/getting-started.md for a 5-minute setup guide.
Full API Reference
See references/api.md for complete endpoint documentation including API key management, sub-accounts, and permissions.