Test whether an email address is valid

A common task!

There are several ways to test whether an email address is valid. Here are a few approaches:

1. Using a regular expression (regex)

You can use a regex pattern to validate an email address. Here's a common pattern:

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

This pattern matches most common email address formats, but keep in mind that it's not foolproof and may not catch all invalid email addresses.

2. Using a library or framework

Many programming languages and frameworks have built-in functions or libraries to validate email addresses. For example:

3. Sending a test email

A more robust approach is to send a test email to the address and check if it's delivered. This method is more reliable than regex or library-based validation, but it requires sending an actual email.

Here's an example in Python using the smtplib library:

import smtplib
from email.mime.text import MIMEText

def validate_email(email):
    msg = MIMEText("Test email")
    msg["Subject"] = "Test email"
    msg["From"] = "[email protected]"
    msg["To"] = email

    server = smtplib.SMTP("your-smtp-server")
    server.sendmail("[email protected]", email, msg.as_string())
    server.quit()

    # Check if the email was delivered
    if not check_email_delivery(email):
        return False
    return True

def check_email_delivery(email):
    # Implement your own email delivery check logic here
    # For example, you can check if the email is in the recipient's inbox
    pass

4. Using a third-party service

There are also third-party services that offer email validation APIs, such as:

These services can validate email addresses and provide feedback on their validity.

Remember that email address validation is not an exact science, and there may be cases where a seemingly invalid email address is actually valid.