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υποχρεωτικό
Το domain που θα ελεγχθεί (π.χ. example.com)

Παράδειγμα 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υποχρεωτικό
IP διεύθυνση (π.χ. 192.168.1.1) ή όνομα domain

Παράδειγμα 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υποχρεωτικό
Το domain που θα ελεγχθεί (π.χ. gmail.com)

Παράδειγμα 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

ΚωδικόςΚατάστασηΠεριγραφή
200OKΕπιτυχές αίτημα
400Bad RequestΛείπει ή είναι άκυρη κάποια παράμετρος
429Too Many RequestsΥπέρβαση rate limit (60/λεπτό)
500Internal 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.