# MailTester Ninja MailTester Ninja is a Rust-based email verification tool designed to help developers and businesses validate email addresses in real-time, clean email lists, and improve [**email verification**](https://mailtester.ninja/) and deliverability. The tool offers features like syntax checking, domain validation, MX record verification, and more. ## Features - **Real-Time Email Verification**: Instantly verify email addresses as they are entered. - **Bulk Email Verification**: Clean large email lists in a single batch. - **Syntax and Format Validation**: Ensure all email addresses follow proper formatting standards. - **Domain and MX Record Validation**: Check if the email domain and its mail server can receive emails. - **Disposable and Role-Based Email Detection**: Identify and flag disposable and role-based addresses. - **Catch-All Email Detection**: Detect domains that accept all incoming emails. - **Spam Trap Detection**: Avoid sending emails to spam traps, protecting your sender reputation. - **API Support**: Seamlessly integrate email verification with your web forms or CRM. ## Installation To use **MailTester Ninja** in your Rust project, add it to your `Cargo.toml`: ```toml [dependencies] mailtester_ninja = "0.1.0" ``` Then, run: ```bash cargo build ``` ## Usage ### Real-Time Email Verification Use the `verify_email` function to check an email's validity in real-time. ```rust use mailtester_ninja::verify_email; fn main() { let email = "example@domain.com"; let result = verify_email(email); match result { Ok(status) => println!("Email status: {:?}", status), Err(e) => println!("Error verifying email: {:?}", e), } } ``` ### Bulk Email Verification To verify multiple emails in bulk, you can use the `verify_bulk_emails` function: ```rust use mailtester_ninja::verify_bulk_emails; fn main() { let emails = vec![ "test1@domain.com", "test2@domain.com", "fake@nonexistent.com" ]; let results = verify_bulk_emails(emails); for (email, result) in results { println!("{}: {:?}", email, result); } } ``` ### API Integration MailTester Ninja provides API integration for real-time validation. Here’s an example of how to use the `verify_email_api` function with an API key: ```rust use mailtester_ninja::verify_email_api; fn main() { let api_key = "your_api_key"; let email = "example@domain.com"; let result = verify_email_api(api_key, email); match result { Ok(status) => println!("Email status: {:?}", status), Err(e) => println!("Error verifying email via API: {:?}", e), } } ``` ## Configuration You can configure MailTester Ninja by creating a configuration file or passing settings directly to functions. Options include setting a timeout for email verification, toggling certain validation features (like catch-all detection), and more. ## Contributing We welcome contributions! Please fork the repository, create a new branch, and submit a pull request with your changes. Ensure that your code follows the Rust style guide and includes tests for any new features or bug fixes. ## License MailTester Ninja is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details. ## Support For help or inquiries, open an issue on the GitHub repository or contact us via email at support@mailtester.ninja