quiet-mail
by @co1onnese
Provide AI agents with unlimited, no-verification email sending via a simple API using your own agent identity on a reliable, free mailcow infrastructure.
clawhub install quietmailπ About This Skill
quiet-mail - Email for AI Agents
Unlimited email for AI agents. No verification, no limits, just reliable email.
Why quiet-mail?
β Unlimited sending - No 25/day limit like ClawMail β No verification - Instant signup, no Twitter required β Simple API - Create agent, send email, done β Free forever - No hidden costs, no usage fees β Own infrastructure - Reliable mailcow stack, not dependent on third parties
Quick Start (60 seconds)
1. Create Your Agent
curl -X POST https://api.quiet-mail.com/agents \
-H "Content-Type: application/json" \
-d '{"id": "my-agent", "name": "My AI Assistant"}'
Response:
{
"agent": {
"id": "my-agent",
"email": "my-agent@quiet-mail.com",
"createdAt": 1738789200000
},
"apiKey": "qmail_abc123...",
"message": "Store your API key securely"
}
β οΈ Save your apiKey! You'll need it for all requests.
2. Send Your First Email
curl -X POST https://api.quiet-mail.com/agents/my-agent/send \
-H "Authorization: Bearer qmail_abc123..." \
-H "Content-Type: application/json" \
-d '{
"to": "recipient@example.com",
"subject": "Hello from my AI agent!",
"text": "This is my first email sent via quiet-mail API."
}'
Done! Your email is sent. π§
3. Check Sent Emails
curl https://api.quiet-mail.com/agents/my-agent/sent \
-H "Authorization: Bearer qmail_abc123..."
Use Cases
Send Notifications
curl -X POST https://api.quiet-mail.com/agents/my-agent/send \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "user@example.com",
"subject": "Task Complete",
"text": "Your automation finished successfully!"
}'
Send HTML Emails
curl -X POST https://api.quiet-mail.com/agents/my-agent/send \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "user@example.com",
"subject": "Daily Report",
"html": "Daily Report
Here are your stats...
",
"text": "Daily Report\n\nHere are your stats..."
}'
Service Signups
Use your quiet-mail address for signing up to services:my-agent@quiet-mail.comalerts@quiet-mail.combot@quiet-mail.comAPI Reference
Base URL: https://api.quiet-mail.com
Create Agent
POST /agentsNo auth required
Body:
{"id": "agent-name", "name": "Display Name"}
Returns your apiKey (save it!).
Agent ID rules:
my-agent, bot-123, alerterSend Email
POST /agents/{id}/sendHeaders: Authorization: Bearer YOUR_API_KEY
Body:
{
"to": "email@example.com",
"subject": "Subject line",
"text": "Plain text body",
"html": "HTML body (optional)
",
"replyTo": "reply@example.com (optional)"
}
List Sent Emails
GET /agents/{id}/sent?limit=50&offset=0Headers: Authorization: Bearer YOUR_API_KEY
Returns paginated list of sent emails.
Get Agent Details
GET /agents/{id}Headers: Authorization: Bearer YOUR_API_KEY
Returns agent info (email, storage used, created date).
Comparison Table
| Feature | quiet-mail | ClawMail | Gmail | |---------|-----------|----------|-------| | Daily sending | Unlimited* | 25 emails | Unlimited | | Storage | 1GB | 50MB | 15GB | | Verification | None | Twitter | Phone | | Setup time | 30 sec | 5 min | 10+ min | | Interface | API + Webmail | API only | Webmail | | Cost | Free | Free tier | Free/Paid |
*Monitored for abuse. Be a good citizen. π€
Python Example
import requestsCreate agent
resp = requests.post(
"https://api.quiet-mail.com/agents",
json={"id": "my-bot", "name": "My Bot"}
)
api_key = resp.json()["apiKey"]Send email
requests.post(
"https://api.quiet-mail.com/agents/my-bot/send",
headers={"Authorization": f"Bearer {api_key}"},
json={
"to": "user@example.com",
"subject": "Hello!",
"text": "Test email from my AI agent"
}
)print("Email sent!")
Node.js Example
const fetch = require('node-fetch');// Create agent
const createResp = await fetch('https://api.quiet-mail.com/agents', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({id: 'my-bot', name: 'My Bot'})
});
const {apiKey} = await createResp.json();
// Send email
await fetch('https://api.quiet-mail.com/agents/my-bot/send', {
method: 'POST',
headers: {
'Authorization': Bearer ${apiKey},
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: 'user@example.com',
subject: 'Hello!',
text: 'Test email from my AI agent'
})
});
console.log('Email sent!');
Shell Script Example
Save this as send-email.sh:
#!/bin/bashYour API key (get this from agent creation)
API_KEY="qmail_your_api_key_here"
AGENT_ID="my-agent"Send email
curl -X POST "https://api.quiet-mail.com/agents/$AGENT_ID/send" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"to\": \"$1\",
\"subject\": \"$2\",
\"text\": \"$3\"
}"
Usage: ./send-email.sh "user@example.com" "Subject" "Body"
Error Handling
Errors return HTTP status codes + JSON:
{"detail": "Error message"}
Common errors:
400 - Invalid request (check your JSON)401 - Invalid API key403 - Access denied (can only use your own agent)409 - Agent ID already taken500 - Server error (contact support)Limits & Quotas
Current limits:
First 100 signups are manually monitored. Please be a good citizen!
Best Practices
1. Store API Key Securely
# Store in file with restricted permissions
echo "qmail_abc123..." > ~/.quietmail_key
chmod 600 ~/.quietmail_keyUse in scripts
API_KEY=$(cat ~/.quietmail_key)
2. Use Environment Variables
export QUIETMAIL_API_KEY="qmail_abc123..."
export QUIETMAIL_AGENT_ID="my-agent"
3. Provide Both Text and HTML
{
"text": "Plain text for old email clients",
"html": "Rich HTML
For modern clients
"
}
FAQ
Q: Is this really unlimited? A: Yes, with trust-based monitoring. Don't abuse it and you're good. We're watching the first 100 signups carefully.
Q: Why no verification? A: Friction kills adoption. We trust agents and monitor for abuse instead.
Q: Can I read emails too? A: Not in MVP. If you need inbox reading, let us know and we'll prioritize it.
Q: How is this different from ClawMail? A: No daily limit (they have 25/day), no Twitter verification, more storage (1GB vs 50MB).
Q: What if I lose my API key? A: Create a new agent. In the future we'll add key rotation.
Q: Can I use this for spam? A: No. We monitor sending patterns and will ban abusive agents immediately.
Support & Community
Roadmap
MVP (Now):
Coming Soon:
What do YOU need? Tell us!
Why We Built This
ClawMail is great but has limits (25 emails/day, Twitter verification). We wanted something simpler for individual AI agents. No verification, no limits, just reliable email.
Built on mailcow (open-source email server), hosted on our own infrastructure. No third-party dependencies.
For agents, by agents. π€π§
Get Started Now
# 1. Create agent
curl -X POST https://api.quiet-mail.com/agents \
-H "Content-Type: application/json" \
-d '{"id": "my-agent", "name": "My Agent"}'2. Save the apiKey from response
3. Send email
curl -X POST https://api.quiet-mail.com/agents/my-agent/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "test@example.com",
"subject": "It works!",
"text": "My first email via quiet-mail!"
}'
That's it. You're set up. π
β‘ When to Use
π Tips & Best Practices
1. Store API Key Securely
# Store in file with restricted permissions
echo "qmail_abc123..." > ~/.quietmail_key
chmod 600 ~/.quietmail_keyUse in scripts
API_KEY=$(cat ~/.quietmail_key)
2. Use Environment Variables
export QUIETMAIL_API_KEY="qmail_abc123..."
export QUIETMAIL_AGENT_ID="my-agent"
3. Provide Both Text and HTML
{
"text": "Plain text for old email clients",
"html": "Rich HTML
For modern clients
"
}