EmailValidation Model Documentation
The EmailValidation model provides comprehensive functionality for validating and managing email addresses. This model tracks which email addresses are valid, which are blocked, and why.
π Documentation Chapters
This documentation is organized into focused chapters for better navigation and maintenance:
π Basic Usage & Database Structure β
Get started with email validation fundamentals:
- Overview of validation checks
- Database schema and structure
- Individual email validation
- Manual status updates
- Quick examples
π Bulk Validation β
Efficiently validate multiple email addresses:
- Bulk validation methods
- Result structures and status types
- Performance considerations
- Common use cases (newsletter, import)
π¨ Laravel Collections β
Advanced filtering and data manipulation:
- Collection operations and filtering
- Data transformation techniques
- Handy one-liners and patterns
- Real-world filtering examples
π API Reference β
Complete method documentation:
- All static methods with parameters
- Return value structures
- Error handling and exceptions
- Database schema details
π‘ Practical Examples β
Real-world implementation examples:
- Newsletter validation
- User registration flow
- Batch import with reporting
- Email list cleanup
- API endpoints
- Scheduled maintenance
β‘ Best Practices β
Performance and maintenance guidelines:
- Performance optimization
- Error handling strategies
- Monitoring and maintenance
- Security considerations
- Testing approaches
Quick Start
Basic Validation
use Darvis\Mailtrap\Models\EmailValidation;
// Validate a single email (returns null if valid, error message if invalid)
$errorMessage = EmailValidation::validateEmail('user@example.com');
$isValid = $errorMessage === null;
// Bulk validation
$emails = ['user1@test.com', 'user2@example.com'];
$result = EmailValidation::bulkValidationStatus($emails);
echo "Valid: " . $result['valid'];
echo "Invalid: " . $result['invalid'];
Laravel Collections Filtering
// Filter invalid emails
$invalidEmails = collect($result['details'])
->filter(fn($details) => $details['status'] !== 'valid')
->keys()
->toArray();
Key Features
- β Format Validation - Checks basic email format
- β MX Record Verification - Verifies domain mail servers
- β IP Validation - Checks if MX records point to valid IPs
- β Bulk Processing - Efficient validation of multiple emails
- β Laravel Collections - Powerful filtering and data manipulation
- β Database Caching - Fast lookups of previously validated emails
- β Status Tracking - Maintains validation history
Navigation Guide
| What you want to do | Go to |
|---|---|
| Get started | Basic Usage β |
| Validate multiple emails | Bulk Validation β |
| Filter and manipulate results | Laravel Collections β |
| See real examples | Practical Examples β |
| Look up a method | API Reference β |
| Optimize performance | Best Practices β |
Status Types
valid- Email passed all validation checksblocked- Email is blocked (spam domain, invalid MX, etc.)invalid- Email has format issues or other problemsnot_exists- Email not found in database (needs validation)
Getting Help
Each chapter includes:
- π Detailed explanations with context
- π» Code examples you can copy and use
- β‘ Performance tips and best practices
- π Cross-references to related topics
Start with Basic Usage β if youβre new to the EmailValidation model, or jump directly to the chapter that matches your needs using the navigation guide above.