API atsauce
Integrējiet MailAudit savā lietotnē: DNS, melno sarakstu un reputācijas pārbaudes, kā arī pilni e-pastu piegādes testi, izmantojot REST API.
Nepieciešama API atslēga
Bez maksas – izveidojiet to vadības panelīPieprasījumu limits
60 pieprasījumi minūtē, 1000 dienā katrai atslēgai
Bāzes URL
https://api.mailaudit.io/api/v1
Autentifikācija
Katram pieprasījumam nepieciešama API atslēga. Sūtiet to galvenē Authorization kā Bearer marķieri (vai galvenē X-API-Key). Glabājiet atslēgu slepenībā – neiekļaujiet to pārlūkā izpildāmā kodā.
curl -H "Authorization: Bearer ma_live_xxxxxxxxxxxx" \
"https://api.mailaudit.io/api/v1/tools/mx-check?domain=example.com"Katrā atbildē ir galvenes X-RateLimit-Remaining un X-RateLimit-Daily-Remaining. Ja limits ir pārsniegts, saņemat HTTP 429 ar galveni Retry-After.
Gala punkti (Endpoints)
MX ierakstu pārbaude
/tools/mx-checkVaicāt domēna MX ierakstiem, kā arī SPF un DMARC iestatījumiem.
Parametri
domainstringobligātsPieprasījuma piemērs
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
"https://api.mailaudit.io/api/v1/tools/mx-check?domain=gmail.com"Atbildes piemērs
1{
2 "domain": "gmail.com",
3 "hasMx": true,
4 "records": [
5 {
6 "exchange": "gmail-smtp-in.l.google.com",
7 "priority": 5,
8 "ip": ["142.250.150.27"]
9 },
10 {
11 "exchange": "alt1.gmail-smtp-in.l.google.com",
12 "priority": 10,
13 "ip": ["142.250.141.26"]
14 }
15 ],
16 "hasSpf": true,
17 "spfRecord": "v=spf1 redirect=_spf.google.com",
18 "hasDmarc": true,
19 "dmarcRecord": "v=DMARC1; p=none; sp=quarantine; rua=mailto:..."
20}Melnā saraksta pārbaude
/tools/blacklist-checkPārbaudīt, vai IP adrese vai domēns atrodas lielākajos spama bloķēšanas sarakstos (32 DNSBL).
Parametri
querystringobligātsPieprasījuma piemērs
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
"https://api.mailaudit.io/api/v1/tools/blacklist-check?query=8.8.8.8"Atbildes piemērs
1{
2 "query": "8.8.8.8",
3 "queryType": "ip",
4 "totalChecked": 32,
5 "totalListed": 0,
6 "results": [
7 {
8 "name": "Spamhaus ZEN",
9 "zone": "zen.spamhaus.org",
10 "listed": false,
11 "responseTime": 45
12 },
13 {
14 "name": "Barracuda",
15 "zone": "b.barracudacentral.org",
16 "listed": false,
17 "responseTime": 32
18 }
19 // ...
20 ]
21}Domēna reputācijas pārbaude
/tools/reputationVisaptverošs domēna reputācijas vērtējums. Pārbauda SPF, DKIM, DMARC, MX ierakstus, melnos sarakstus, STARTTLS atbalstu, domēna vecumu un reverse DNS.
Parametri
domainstringobligātsPieprasījuma piemērs
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
"https://api.mailaudit.io/api/v1/tools/reputation?domain=gmail.com"Vērtēšanas skala
Atbildes piemērs
1{
2 "domain": "gmail.com",
3 "ip": "142.250.150.27",
4 "score": 100,
5 "grade": "A+",
6 "factors": [
7 { "name": "SPF", "status": "pass", "detail": "Policy: present", "impact": 15 },
8 { "name": "DKIM", "status": "warn", "detail": "Not found", "impact": 0 },
9 { "name": "DMARC", "status": "warn", "detail": "Policy: none", "impact": 5 },
10 { "name": "MX Records", "status": "pass", "detail": "5 record(s)", "impact": 10 },
11 { "name": "Blacklists", "status": "pass", "detail": "Clean (39 checked)", "impact": 20 },
12 { "name": "STARTTLS", "status": "pass", "detail": "Supported", "impact": 10 },
13 { "name": "Domain Age", "status": "pass", "detail": "30.3 years", "impact": 10 },
14 { "name": "Reverse DNS", "status": "pass", "detail": "wa-in-f27.1e100.net", "impact": 5 }
15 ],
16 "details": {
17 "mx": { "valid": true, "count": 5, "primary": "gmail-smtp-in.l.google.com" },
18 "spf": { "valid": true, "record": "v=spf1 redirect=_spf.google.com" },
19 "dkim": { "valid": false, "selectors": [] },
20 "dmarc": { "valid": true, "policy": "none", "rua": ["mailto:..."] },
21 "blacklists": { "checked": 10, "listed": 0, "clean": true },
22 "tls": { "valid": true, "starttls": true },
23 "domainAge": { "valid": true, "years": 30.3, "registrationDate": "1995-08-13" },
24 "rdns": { "valid": true, "hostname": "wa-in-f27.1e100.net" }
25 },
26 "checkedAt": "2025-12-03T07:05:46.232Z",
27 "cached": false
28}E-pasta piegādes tests
Izveidojiet testa adresi, nosūtiet uz to e-pastu no servera, kuru vēlaties pārbaudīt, un vaicājiet rezultātu, līdz statuss ir completed (parasti minūtes laikā). Testa adreses derīgums beidzas pēc vienas stundas.
/test/generateIzveidot jaunu testa e-pasta adresi.
Pieprasījuma piemērs
curl -X POST -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
"https://api.mailaudit.io/api/v1/test/generate"Atbildes piemērs
1{
2 "testId": "k3v9x2m1qa",
3 "email": "[email protected]",
4 "expiresAt": "2026-09-24T18:44:14.762Z",
5 "checkUrl": "/test/k3v9x2m1qa"
6}/test/{testId}Iegūt testa statusu un rezultātus. Statuss: pending → processing → completed (vai expired / error). Vērtējums ir 0–10.
Parametri
testIdstringobligātsPieprasījuma piemērs
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
"https://api.mailaudit.io/api/v1/test/k3v9x2m1qa"Atbildes piemērs
1{
2 "testId": "k3v9x2m1qa",
3 "status": "completed",
4 "score": 9.2,
5 "createdAt": "2026-09-24T17:44:14.763Z",
6 "receivedAt": "2026-09-24T17:45:02.118Z",
7 "expiresAt": "2026-09-24T18:44:14.762Z",
8 "email": {
9 "from": "[email protected]",
10 "subject": "Our September newsletter",
11 "bounceAddress": null
12 },
13 "checks": {
14 "spf": { "status": "pass", ... },
15 "dkim": { "status": "pass", ... },
16 "dmarc": { "status": "pass", ... },
17 "blacklist": { "status": "pass", ... },
18 "spamassassin": { "status": "pass", ... }
19 }
20}/test/{testId}/recheckAtkārtoti palaist visas pārbaudes jau saņemtam e-pastam, nesūtot jaunu.
Parametri
testIdstringobligātsAtbildes piemērs
1{
2 "success": true,
3 "testId": "k3v9x2m1qa",
4 "message": "Recheck initiated - checks are running"
5}Izstrādes pastkaste
Katram kontam ir sava vienreizlietojamā adrese ([email protected], ar jebkuru +tagu). Uz to nosūtītās vēstules tiek glabātas 24 stundas, un tās var lasīt, izmantojot API, vadības panelī vai ar koplietošanas saiti. Izmantojiet to pilna cikla (end-to-end) testos īstas pastkastes vietā.
/inbox/waitGaida (long-poll, līdz 60 s), līdz pienāk atbilstoša vēstule, un atgriež to ar tekstu, HTML, saitēm un vienreizējiem kodiem. Atgriež 408, ja laikā nekas nepienāk.
Parametri
tagstringtimeoutnumbersinceISO 8601Pieprasījuma piemērs
1curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
2 "https://api.mailaudit.io/api/v1/inbox/address?tag=signup-42"
3# → { "address": "[email protected]", … }
4
5curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
6 "https://api.mailaudit.io/api/v1/inbox/wait?tag=signup-42&timeout=60"Pieejams arī:
- GET /inbox · GET /inbox/address · GET /inbox/messages?tag=&since=
- GET /inbox/messages/{id} · GET /inbox/messages/{id}/raw · DELETE /inbox/messages/{id}
Atbildes piemērs
1{
2 "id": "81ab56fe-9546-41a1-b7d1-b0f1a594ad37",
3 "to": "[email protected]",
4 "tag": "signup-42",
5 "from": { "address": "[email protected]", "name": "YourApp" },
6 "subject": "Confirm your email address",
7 "receivedAt": "2026-09-24T19:53:43.624Z",
8 "expiresAt": "2026-09-25T19:53:43.624Z",
9 "links": ["https://yourapp.dev/confirm?t=abc"],
10 "codes": ["482913"],
11 "shareUrl": "https://mailaudit.io/m/UjKgBYNGYXjTaGLe…",
12 "text": "Your code: 482 913 …",
13 "html": "<p>Your code: <b>482 913</b></p>…",
14 "headers": { "subject": "Confirm your email address", … }
15}Izmantojiet to no MI aģenta (MCP)
Tā pati pastkaste ir arī MCP serveris, tāpēc Claude Code, Cursor un citi MCP klienti paši var veidot adreses, gaidīt vēstules un tās lasīt:
claude mcp add --transport http mailaudit https://api.mailaudit.io/mcp \
--header "Authorization: Bearer $MAILAUDIT_API_KEY"Rīki: new_address, wait_for_message, list_messages, get_message, extract, share_link, delete_message.
HTTP statusa kodi
| Kods | Statuss | Apraksts |
|---|---|---|
| 200 | OK | Pieprasījums izdevies |
| 400 | Bad Request | Trūkst vai ir nederīgs parametrs |
| 401 | Unauthorized | Trūkst API atslēgas, tā ir nederīga vai atsaukta |
| 404 | Not Found | Tests nav atrasts |
| 429 | Too Many Requests | Pārsniegts pieprasījumu limits (60 minūtē vai 1000 dienā) |
| 500 | Internal Server Error | Servera kļūda |
Kļūdu atbildes
Kļūdas gadījumā atbildē ir lauks error ar kļūdas aprakstu:
{
"error": "Nepieciešams domēns"
}Koda piemēri
JavaScript / Node.js
1// Vaicāt MX ierakstus
2const response = await fetch(
3 'https://api.mailaudit.io/api/v1/tools/mx-check?domain=example.com',
4 { headers: { Authorization: `Bearer ${process.env.MAILAUDIT_API_KEY}` } }
5);
6const data = await response.json();
7
8if (data.hasMx) {
9 console.log('MX ieraksti:', data.records);
10 console.log('SPF:', data.hasSpf ? data.spfRecord : 'Nav');
11 console.log('DMARC:', data.hasDmarc ? data.dmarcRecord : 'Nav');
12}Python
1import os
2import requests
3
4# Melnā saraksta pārbaude
5response = requests.get(
6 'https://api.mailaudit.io/api/v1/tools/blacklist-check',
7 params={'query': '192.168.1.1'},
8 headers={'Authorization': f"Bearer {os.environ['MAILAUDIT_API_KEY']}"},
9)
10data = response.json()
11
12print(f"Pārbaudīti: {data['totalChecked']} saraksti")
13print(f"Ierakstīts: {data['totalListed']} reizes")
14
15for result in data['results']:
16 if result['listed']:
17 print(f"⚠️ {result['name']}: IERAKSTĪTS")Python - Reputation Check
1import os
2import requests
3
4# Domēna reputācijas pārbaude
5response = requests.get(
6 'https://api.mailaudit.io/api/v1/tools/reputation',
7 params={'domain': 'example.com'},
8 headers={'Authorization': f"Bearer {os.environ['MAILAUDIT_API_KEY']}"},
9)
10data = response.json()
11
12print(f"Score: {data['score']}/100 ({data['grade']})")
13print("\nFaktori:")
14for factor in data['factors']:
15 icon = "✅" if factor['status'] == 'pass' else "⚠️" if factor['status'] == 'warn' else "❌"
16 print(f" {icon} {factor['name']}: {factor['detail']} ({factor['impact']:+d})")Python - Email deliverability test
1import os
2import time
3import requests
4
5# Pilns piegādes tests
6api = 'https://api.mailaudit.io/api/v1'
7headers = {'Authorization': f"Bearer {os.environ['MAILAUDIT_API_KEY']}"}
8
9test = requests.post(f'{api}/test/generate', headers=headers).json()
10print('Send your email to:', test['email'])
11
12while True:
13 result = requests.get(f"{api}/test/{test['testId']}", headers=headers).json()
14 if result['status'] in ('completed', 'expired', 'error'):
15 break
16 time.sleep(10)
17
18print(f"Status: {result['status']}, score: {result['score']}/10")PHP
1<?php
2// MX pārbaude
3$domain = 'example.com';
4$url = "https://api.mailaudit.io/api/v1/tools/mx-check?domain=" . urlencode($domain);
5
6$context = stream_context_create(['http' => [
7 'header' => 'Authorization: Bearer ' . getenv('MAILAUDIT_API_KEY'),
8]]);
9$response = file_get_contents($url, false, $context);
10$data = json_decode($response, true);
11
12if ($data['hasMx']) {
13 foreach ($data['records'] as $mx) {
14 echo "MX: {$mx['exchange']} (prioritāte: {$mx['priority']})\n";
15 }
16}
17?>Vēlaties izmēģināt API?
Izmēģiniet mūsu rīkus tīmekļa saskarnē vai sāciet izstrādi ar API.