REST API · JSON · CORS Enabled
API Reference
Integrate TMail's disposable email service into your application. All endpoints return JSON and support CORS.
Base URL:
https://yourdomain.com
Returns all active email domains available for generating addresses.
{"success": true, "domains": ["mail.yoursite.com", "inbox.yoursite.com"]}
Generates a random temporary email address from available domains.
{"success": true, "email": "x7k2mq9w@mail.yoursite.com", "username": "x7k2mq9w", "domain": "mail.yoursite.com"}
Returns all messages for the specified email (last 50, newest first).
{"success": true, "count": 1, "messages": [{"id": "uuid", "sender": "noreply@x.com", "subject": "Your code is 123456", "size": 1024, "created_at": "2024-01-15T10:30:00.000Z"}]}
Returns the full content including HTML and text body.
{"success": true, "message": {"id": "uuid", "recipient": "x@mail.site.com", "sender": "no-reply@example.com", "subject": "Verify", "body_html": "<html>...</html>", "body_text": "Your code is 123456", "created_at": "..."}}
Deletes a specific message. Requires matching email for security.
{"success": true, "message": "Deleted"}
{"success": true, "stats": {"active_domains": 2, "total_messages": 15420, "messages_today": 287}}
💻 Code Examples
const BASE = 'https://yourdomain.com';
// Generate temporary email
const gen = await fetch(`${BASE}/api/generate.php`).then(r => r.json());
console.log('Email:', gen.email);
// Check inbox every 3 seconds
setInterval(async () => {
const inbox = await fetch(`${BASE}/api/messages.php?email=${encodeURIComponent(gen.email)}`).then(r => r.json());
for (const msg of inbox.messages) {
console.log(`From: ${msg.sender} | Subject: ${msg.subject}`);
// Get full message
const full = await fetch(`${BASE}/api/messages.php?id=${msg.id}&email=${encodeURIComponent(gen.email)}`).then(r => r.json());
console.log('Body:', full.message.body_text);
}
}, 3000);
import requests, time
BASE = 'https://yourdomain.com'
gen = requests.get(f'{BASE}/api/generate.php').json()
email = gen['email']
print(f'Email: {email}')
while True:
inbox = requests.get(f'{BASE}/api/messages.php', params={'email': email}).json()
for msg in inbox.get('messages', []):
full = requests.get(f"{BASE}/api/messages.php", params={'id': msg['id'], 'email': email}).json()
print(f"From: {msg['sender']}\nBody: {full['message']['body_text']}")
time.sleep(3)
# Generate email
curl https://yourdomain.com/api/generate.php
# Check inbox
curl "https://yourdomain.com/api/messages.php?email=user@mail.yoursite.com"
# Get full message
curl "https://yourdomain.com/api/messages.php?id=MSG_ID&email=user@mail.yoursite.com"
# Delete message
curl -X DELETE "https://yourdomain.com/api/messages.php?id=MSG_ID&email=user@mail.yoursite.com"
# Public stats
curl https://yourdomain.com/api/stats.php
⚡ Rate Limits
| Endpoint | Limit | Window |
| /api/* | 60 requests | 60 seconds / IP |
| /api/admin/login.php | 5 attempts | 15 minutes / IP |