Download the PHP package palpalani/laravel-dns-deny-list-check without Composer
On this page you can find all versions of the php package palpalani/laravel-dns-deny-list-check. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download palpalani/laravel-dns-deny-list-check
More information about palpalani/laravel-dns-deny-list-check
Files in palpalani/laravel-dns-deny-list-check
Package laravel-dns-deny-list-check
Short Description A modern Laravel package for checking IP addresses against verified DNS-based blacklists (DNSBL/RBL) to ensure email deliverability
License MIT
Homepage https://github.com/palpalani/laravel-dns-deny-list-check
Informations about the package laravel-dns-deny-list-check
Laravel DNS Deny List Check
A modern, production-ready Laravel package for checking email server IP addresses against verified DNS-based blacklists (DNSBL/RBL). This package helps ensure email deliverability by testing your mail server against 12 carefully curated, actively maintained blacklist services.
๐ Table of Contents
- Features
- Requirements
- Architecture
- Installation
- Configuration
- Usage
- Testing
- Production Considerations
- Documentation
- Tools & Standards
- Quality Metrics
- Contributing
- Security
- License
โจ Features
- ๐ Production-Verified DNSBL Servers - Only 12 verified, functional servers (January 2025)
- ๐ Modern PHP 8.3+ - Uses readonly properties, constructor promotion, and strict typing
- ๐ Full IPv4 & IPv6 Support - Handles both IP versions with proper reverse notation
- โก Performance Optimized - Configurable timeouts and optional concurrent checking
- ๐ Detailed Statistics - Comprehensive response data with performance metrics
- ๐ฏ Tier-Based Checking - Critical, Important, and Supplementary DNSBL categories
- ๐ง Laravel Integration - Service provider, facade, and configuration support
- โ Comprehensive Testing - 47 tests with 374 assertions using Pest
- ๐ก๏ธ Edge Case Handling - Graceful error handling and validation
- ๐ Production Ready - Zero false positives, reliable DNSBL servers only
- ๐ Type Safe - Full PHPStan static analysis coverage
๐ Requirements
- PHP 8.3 or higher
- Laravel 11.x or 12.x
- ext-dns (for DNS lookups)
๐๏ธ Architecture
Built with modern PHP and Laravel best practices:
- Type Safety: Full type hints, strict types, and PHPStan analysis
- Testing: Comprehensive Pest test suite with high coverage
- Code Quality: Laravel Pint for code formatting, PHPStan for static analysis
- Performance: Optimized DNS queries with configurable timeouts
๐ Installation
Install the package via Composer:
The service provider will be automatically registered thanks to Laravel's package auto-discovery.
Configuration (Optional)
Publish the configuration file to customize DNSBL servers:
This creates config/dns-deny-list-check.php with 12 production-verified DNSBL servers:
๐ Usage
Basic Usage
Response Structure
Advanced Configuration
Laravel Service Container
๐งช Testing
Run the comprehensive test suite:
The package includes 47 tests with 374 assertions using Pest covering:
- โ IPv4 and IPv6 validation
- โ DNSBL server connectivity
- โ Error handling and edge cases
- โ Facade functionality
- โ Performance testing
- โ Configuration validation
- โ Type safety and static analysis
Code Quality
๐ Production Considerations
DNSBL Server Reliability
This package uses only verified, production-ready DNSBL servers (January 2025):
- โ Removed non-functional services: SORBS (shut down June 2024), SpamRats, defunct Spamhaus services
- โ 12 verified servers: Tested for DNS resolution, active maintenance, and low false positives
- ๐ฏ Tier-based approach: Critical (3), Important (4), Supplementary (5) categories
Performance Tips
Error Handling
๐ Documentation
Comprehensive documentation is available in the repository:
- API Reference
- Configuration Guide
- Performance Optimization
- DNSBL Server Guide
๐ง Tools & Standards
This package uses modern development tools and follows best practices:
- Testing: Pest PHP - A delightful PHP testing framework
- Code Style: Laravel Pint - Opinionated PHP code style fixer
- Static Analysis: PHPStan with Larastan
- CI/CD: GitHub Actions with comprehensive test matrix
- Code Quality: Automated code style fixes and static analysis on every push
๐ Quality Metrics
- โ 100% Type Coverage - Full type hints and PHPStan analysis
- โ 47 Tests - Comprehensive test suite with Pest
- โ 374 Assertions - Thorough validation of all features
- โ Zero Dependencies - No external HTTP dependencies, uses native DNS resolution
- โ Production Verified - Only active, reliable DNSBL servers
๐ Changelog
Please see CHANGELOG for more information on what has changed recently.
ToDo
๐ Alternative Blacklist Checking Techniques
Here are other methods beyond DNS-based blacklists for email deliverability checking:
-
API-Based Reputation Services
-
Multi-Service Aggregators
-
SURBL/URIBL Domain Checking
-
SMTP Test Connections
-
GeoIP & ASN-Based Checks
-
Machine Learning Reputation Scoring
-
Real-Time Threat Intelligence
-
Email Authentication Checks
-
Historical Analysis
- Integration Examples
๐ค Contributing
We welcome contributions! Please see CONTRIBUTING for details.
Development Setup
Contribution Guidelines
- โ Follow PSR-12 coding standards (enforced by Laravel Pint)
- โ Write tests for new features using Pest
- โ
Ensure PHPStan analysis passes (
composer analyse) - โ Update documentation accordingly
- โ Ensure all tests pass before submitting PR
- โ Follow semantic versioning for releases
๐ Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
For security-related issues, please email [email protected] instead of using the issue tracker.
๐ฆ Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
๐ฅ Credits
- palPalani - Creator and maintainer
- All Contributors - Thank you for your contributions!
Acknowledgments
- Spatie - For excellent Laravel package tools and inspiration
- DNSBL Service Providers - For maintaining public blacklist services
- Laravel Community - For feedback and testing
๐ License
The MIT License (MIT). Please see License File for more information.
Install Laravel DNS Deny List Check and start protecting your email reputation today!
All versions of laravel-dns-deny-list-check with dependencies
ext-dns Version *
illuminate/contracts Version ^11.0 || ^12.0 || ^13.0
spatie/laravel-package-tools Version ^1.1