API Documentation
API Reference
Ενσωμάτωσε τις υπηρεσίες MailAudit στη δική σου εφαρμογή. Δωρεάν API access για ελέγχους MX εγγραφών και blacklist.
Χωρίς API key
Έτοιμο για χρήση, χωρίς εγγραφή
Rate limit
60 αιτήματα / λεπτό / IP διεύθυνση
Base URL
https://api.mailaudit.io
Endpoints
Έλεγχος MX εγγραφών
GET
/tools/mx-checkΕρώτημα για τις MX εγγραφές ενός domain, καθώς και τις ρυθμίσεις SPF και DMARC.
Parameters
domainstringυποχρεωτικόΠαράδειγμα request
bash
curl "https://api.mailaudit.io/tools/mx-check?domain=gmail.com"Παράδειγμα response
json
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}Έλεγχος blacklist
GET
/tools/blacklist-checkΈλεγχος αν μία IP διεύθυνση ή ένα domain βρίσκεται σε βασικές spam blocklists (23+ DNSBL).
Parameters
querystringυποχρεωτικόΠαράδειγμα request
bash
curl "https://api.mailaudit.io/tools/blacklist-check?query=8.8.8.8"Παράδειγμα response
json
1{
2 "query": "8.8.8.8",
3 "queryType": "ip",
4 "totalChecked": 23,
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}Έλεγχος φήμης domain
GET
/tools/reputationΟλοκληρωμένος υπολογισμός βαθμολογίας φήμης domain. Ελέγχει SPF, DKIM, DMARC, MX εγγραφές, κατάσταση blacklist, υποστήριξη STARTTLS, ηλικία domain και reverse DNS.
Parameters
domainstringυποχρεωτικόΠαράδειγμα request
bash
curl "https://api.mailaudit.io/tools/reputation?domain=gmail.com"Κλίμακα βαθμολόγησης
90-100 = A+
80-89 = A
70-79 = B
60-69 = C
50-59 = D
0-49 = F
Παράδειγμα response
json
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 (10 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}HTTP Status Codes
| Κωδικός | Κατάσταση | Περιγραφή |
|---|---|---|
| 200 | OK | Επιτυχές αίτημα |
| 400 | Bad Request | Λείπει ή είναι άκυρη κάποια παράμετρος |
| 429 | Too Many Requests | Υπέρβαση rate limit (60/λεπτό) |
| 500 | Internal Server Error | Σφάλμα στον server |
Responses σφαλμάτων
Σε περίπτωση σφάλματος, το response περιέχει πεδίο error με την περιγραφή:
json
{
"error": "Απαιτείται domain"
}Παραδείγματα κώδικα
JavaScript / Node.js
javascript
1// Ερώτημα για MX εγγραφές
2const response = await fetch(
3 'https://api.mailaudit.io/tools/mx-check?domain=example.com'
4);
5const data = await response.json();
6
7if (data.hasMx) {
8 console.log('MX εγγραφές:', data.records);
9 console.log('SPF:', data.hasSpf ? data.spfRecord : 'Κανένα');
10 console.log('DMARC:', data.hasDmarc ? data.dmarcRecord : 'Κανένα');
11}Python
python
1import requests
2
3# Έλεγχος blacklist
4response = requests.get(
5 'https://api.mailaudit.io/tools/blacklist-check',
6 params={'query': '192.168.1.1'}
7)
8data = response.json()
9
10print(f"Ελέγχθηκαν: {data['totalChecked']} λίστες")
11print(f"Καταχώρηση σε: {data['totalListed']} θέσεις")
12
13for result in data['results']:
14 if result['listed']:
15 print(f"⚠️ {result['name']}: LISTED")Python - Reputation Check
python
1import requests
2
3# Έλεγχος φήμης domain
4response = requests.get(
5 'https://api.mailaudit.io/tools/reputation',
6 params={'domain': 'example.com'}
7)
8data = response.json()
9
10print(f"Score: {data['score']}/100 ({data['grade']})")
11print("\nΠαράγοντες:")
12for factor in data['factors']:
13 icon = "✅" if factor['status'] == 'pass' else "⚠️" if factor['status'] == 'warn' else "❌"
14 print(f" {icon} {factor['name']}: {factor['detail']} ({factor['impact']:+d})")PHP
php
1<?php
2// MX check
3$domain = 'example.com';
4$url = "https://api.mailaudit.io/tools/mx-check?domain=" . urlencode($domain);
5
6$response = file_get_contents($url);
7$data = json_decode($response, true);
8
9if ($data['hasMx']) {
10 foreach ($data['records'] as $mx) {
11 echo "MX: {$mx['exchange']} (προτεραιότητα: {$mx['priority']})\n";
12 }
13}
14?>Θέλεις να δοκιμάσεις το API;
Δοκίμασε τα εργαλεία μας από το web interface ή ξεκίνα ανάπτυξη με το API.