#mail-server #validation #domain #verification #record #mx

app mailtester_ninja

MailTester Ninja is packed with essential features designed to enhance your email marketing efforts

1 unstable release

0.1.0 Sep 23, 2024

#38 in Email

30 downloads per month

MIT license

6KB

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 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:

[dependencies]
mailtester_ninja = "0.1.0"

Then, run:

cargo build

Usage

Real-Time Email Verification

Use the verify_email function to check an email's validity in real-time.

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:

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:

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 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

No runtime deps