DomainIntelligence 1.0.0
dotnet add package DomainIntelligence --version 1.0.0
NuGet\Install-Package DomainIntelligence -Version 1.0.0
<PackageReference Include="DomainIntelligence" Version="1.0.0" />
<PackageVersion Include="DomainIntelligence" Version="1.0.0" />
<PackageReference Include="DomainIntelligence" />
paket add DomainIntelligence --version 1.0.0
#r "nuget: DomainIntelligence, 1.0.0"
#:package DomainIntelligence@1.0.0
#addin nuget:?package=DomainIntelligence&version=1.0.0
#tool nuget:?package=DomainIntelligence&version=1.0.0
DomainIntelligence
Lightweight, async domain intelligence and risk scoring for .NET applications.
DomainIntelligence analyzes email domains using DNS lookups and basic heuristics to determine risk level, email configuration health, and disposable/free provider status.
✨ Features
- ✅ MX record detection
- ✅ A record detection
- ✅ SPF validation (
v=spf1) - ✅ DMARC validation (
v=DMARC1) - ✅ Free email provider detection
- ✅ Disposable email detection
- ✅ Built-in risk scoring engine
- ✅ Async + cached DNS lookups
- ✅ Thread-safe
📦 Installation
dotnet add package DomainIntelligence
🚀 Quick Start
using DomainIntelligence;
var analyzer = new DomainAnalyzer();
var result = await analyzer.AnalyzeAsync("example.com");
Console.WriteLine($"Domain: {result.Domain}");
Console.WriteLine($"Risk Score: {result.RiskScore}");
Console.WriteLine($"Classification: {result.Classification}");
Console.WriteLine($"Has MX: {result.HasMx}");
Console.WriteLine($"Has SPF: {result.HasSpf}");
Console.WriteLine($"Has DMARC: {result.HasDmarc}");
Console.WriteLine($"Is Disposable: {result.IsDisposable}");
📊 Risk Classification
Risk score is calculated based on DNS configuration and provider heuristics.
| Score Range | Classification |
|---|---|
| < 20 | Low Risk |
| 20–49 | Medium Risk |
| 50–69 | High Risk |
| 70+ | Critical Risk |
Risk Factors
- ❌ No MX record → +40
- ❌ No SPF → +15
- ❌ No DMARC → +15
- ❌ No A record → +20
- ⚠ Disposable domain → +50
- ⚠ Free email provider → +10
🧠 What It’s Useful For
- Email validation pipelines
- Fraud detection systems
- Lead quality scoring
- Account registration risk analysis
- Security monitoring
🛠 How It Works
The library uses:
DnsClientfor async DNS resolution- In-memory concurrent caching
- Parallel DNS queries for performance
All DNS checks are executed concurrently for optimal speed.
⚡ Performance Notes
- DNS queries are parallelized using
Task.WhenAll - Results are cached in a thread-safe
ConcurrentDictionary - Lookup timeout: 5 seconds
- Retries: 1
🔐 Thread Safety
- Fully thread-safe
- Safe for use in ASP.NET Core and high-concurrency environments
🧩 Extending
You can extend:
FreeProviderslistDisposableDomainslistCalculateRisk()scoring model
Fork and customize to fit your security model.
📄 Example Output
{
"domain": "example.com",
"hasMx": true,
"hasARecord": true,
"hasSpf": true,
"hasDmarc": true,
"isFreeEmailProvider": false,
"isDisposable": false,
"riskScore": 0,
"classification": "Low Risk"
}
⚠ Disclaimer
This library provides heuristic-based domain risk assessment. It is not a substitute for full email verification, threat intelligence feeds, or enterprise-grade fraud detection systems.
📜 License
MIT License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- DnsClient (>= 1.8.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 96 | 2/11/2026 |