emailfy


Nameemailfy JSON
Version 0.1.6 PyPI version JSON
download
home_pagehttps://github.com/ChristopherTavaresBR/emailfy
SummaryEmailfy is a powerful Python package designed for comprehensive email address validation. It goes beyond basic syntax checks, providing advanced validation features and deliverability checks to ensure that email addresses are not only correctly formatted but also deliverable in a real-world environment.
upload_time2024-02-07 14:39:15
maintainer
docs_urlNone
authorChristopher Yosef
requires_python>=3.6
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# Emailfy: Validation and Deliverability Checker

[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)


Emailfy is a Python package designed for comprehensive email address validation and checking the deliverability of email addresses. It goes beyond basic syntax checks, providing advanced validation features and deliverability checks to ensure that email addresses are not only correctly formatted but also deliverable in a real-world environment.

## Features

**Key Features:**

- **Email Validation:** Verify if an email address is syntactically correct and adheres to established RFC standards.
- **Internationalization Support:** Support for internationalized email addresses, including UTF-8 and IDNA encoding.
- **Deliverability Checks:** Ensure the deliverability of email addresses by validating MX records, SPF policies, and domain existence.
- **Customizable Options:** Fine-tune validation with customizable settings, including allowing SMTPUTF8, quoted local parts, domain literals, and more.
- **Test Environment Support:** Accommodate testing environments where special-use domain names are allowed.

**Use Cases:**

- **Web Forms:** Enhance the user experience by ensuring that entered email addresses are both valid and deliverable.
- **Email Verification Services:** Build robust email verification services by seamlessly integrating `emailfy` for thorough validation.
- **API Endpoints:** Secure your applications by validating email addresses before processing user inputs.

**Additional Features:**

- **Custom Resolver:** Configure custom DNS resolvers with adjustable timeouts for deliverability checks.
- **Special Use Domain Handling:** Optionally exclude special-use domains from deliverability checks.

Ensure your application's email handling is reliable and secure with `emailfy` — the ultimate solution for email validation, deliverability checks, and customizable options.

## Installation

You can install Emailfy using `pip`:

```bash
pip install emailfy
```

## Usage
- **Basic Email Validation:**

```bash
from emailfy import validate_email, EmailNotValidError

try:
    validated_email = validate_single_email("user@example.com")
    print("Email is valid:", validated_email.normalized)

except EmailNotValidError as e:
    print("Email is not valid:", str(e))
```

- **Bulk Email Validation:**

```bash
from emailfy import validate_email, EmailNotValidError, ValidatedEmail

emails_to_validate = ["user@example.com", "exe@exemplocom"]

try:
    validated_emails = validate_email(emails_to_validate)
    print(validated_emails)

except EmailNotValidError as e:
    print(f"Error details: {e.details}")
    print(f"Full exception: {str(e)}")

```

- **Custom Resolver Configuration:**

```bash
from emailfy import caching_resolver, validate_email, EmailNotValidError

# Configure a custom resolver with a longer timeout
custom_resolver = caching_resolver(timeout=20)

try:
    validated_email = validate_email("user@example.com", dns_resolver=custom_resolver)
    print("Email is valid:", validated_email.normalized)

except EmailNotValidError as e:
    print("Email is not valid:", str(e))
```

- **Using Special Use Domain Names:**

```bash
from emailfy import SPECIAL_USE_DOMAIN_NAMES, validate_email, EmailNotValidError

try:
    validated_email = validate_email("user@example.com", globally_deliverable=False)
    print("Email is valid:", validated_email.normalized)

except EmailNotValidError as e:
    print("Email is not valid:", str(e))

```
## Configuration
Emailfy provides global attributes that you can adjust:

**`ALLOW_SMTPUTF8`**
**`ALLOW_QUOTED_LOCAL`**
**`ALLOW_DOMAIN_LITERAL`**
**`GLOBALLY_DELIVERABLE`**
**`CHECK_DELIVERABILITY`**
**`TEST_ENVIRONMENT`**
**`DEFAULT_TIMEOUT`**

Refer to the documentation for detailed information on each configuration attribute.


## Contributing

If you find a bug, have questions, or want to contribute, please check our contribution guidelines.

## License
This project is licensed under the MIT License - see the LICENSE file for details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ChristopherTavaresBR/emailfy",
    "name": "emailfy",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Christopher Yosef",
    "author_email": "aratava82@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/65/94/2ecd39ace882c21ee55a027bc9a7408c34762f10c9984b3cfa133f347d39/emailfy-0.1.6.tar.gz",
    "platform": null,
    "description": "\n# Emailfy: Validation and Deliverability Checker\n\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n\nEmailfy is a Python package designed for comprehensive email address validation and checking the deliverability of email addresses. It goes beyond basic syntax checks, providing advanced validation features and deliverability checks to ensure that email addresses are not only correctly formatted but also deliverable in a real-world environment.\n\n## Features\n\n**Key Features:**\n\n- **Email Validation:** Verify if an email address is syntactically correct and adheres to established RFC standards.\n- **Internationalization Support:** Support for internationalized email addresses, including UTF-8 and IDNA encoding.\n- **Deliverability Checks:** Ensure the deliverability of email addresses by validating MX records, SPF policies, and domain existence.\n- **Customizable Options:** Fine-tune validation with customizable settings, including allowing SMTPUTF8, quoted local parts, domain literals, and more.\n- **Test Environment Support:** Accommodate testing environments where special-use domain names are allowed.\n\n**Use Cases:**\n\n- **Web Forms:** Enhance the user experience by ensuring that entered email addresses are both valid and deliverable.\n- **Email Verification Services:** Build robust email verification services by seamlessly integrating `emailfy` for thorough validation.\n- **API Endpoints:** Secure your applications by validating email addresses before processing user inputs.\n\n**Additional Features:**\n\n- **Custom Resolver:** Configure custom DNS resolvers with adjustable timeouts for deliverability checks.\n- **Special Use Domain Handling:** Optionally exclude special-use domains from deliverability checks.\n\nEnsure your application's email handling is reliable and secure with `emailfy` \u2014 the ultimate solution for email validation, deliverability checks, and customizable options.\n\n## Installation\n\nYou can install Emailfy using `pip`:\n\n```bash\npip install emailfy\n```\n\n## Usage\n- **Basic Email Validation:**\n\n```bash\nfrom emailfy import validate_email, EmailNotValidError\n\ntry:\n    validated_email = validate_single_email(\"user@example.com\")\n    print(\"Email is valid:\", validated_email.normalized)\n\nexcept EmailNotValidError as e:\n    print(\"Email is not valid:\", str(e))\n```\n\n- **Bulk Email Validation:**\n\n```bash\nfrom emailfy import validate_email, EmailNotValidError, ValidatedEmail\n\nemails_to_validate = [\"user@example.com\", \"exe@exemplocom\"]\n\ntry:\n    validated_emails = validate_email(emails_to_validate)\n    print(validated_emails)\n\nexcept EmailNotValidError as e:\n    print(f\"Error details: {e.details}\")\n    print(f\"Full exception: {str(e)}\")\n\n```\n\n- **Custom Resolver Configuration:**\n\n```bash\nfrom emailfy import caching_resolver, validate_email, EmailNotValidError\n\n# Configure a custom resolver with a longer timeout\ncustom_resolver = caching_resolver(timeout=20)\n\ntry:\n    validated_email = validate_email(\"user@example.com\", dns_resolver=custom_resolver)\n    print(\"Email is valid:\", validated_email.normalized)\n\nexcept EmailNotValidError as e:\n    print(\"Email is not valid:\", str(e))\n```\n\n- **Using Special Use Domain Names:**\n\n```bash\nfrom emailfy import SPECIAL_USE_DOMAIN_NAMES, validate_email, EmailNotValidError\n\ntry:\n    validated_email = validate_email(\"user@example.com\", globally_deliverable=False)\n    print(\"Email is valid:\", validated_email.normalized)\n\nexcept EmailNotValidError as e:\n    print(\"Email is not valid:\", str(e))\n\n```\n## Configuration\nEmailfy provides global attributes that you can adjust:\n\n**`ALLOW_SMTPUTF8`**\n**`ALLOW_QUOTED_LOCAL`**\n**`ALLOW_DOMAIN_LITERAL`**\n**`GLOBALLY_DELIVERABLE`**\n**`CHECK_DELIVERABILITY`**\n**`TEST_ENVIRONMENT`**\n**`DEFAULT_TIMEOUT`**\n\nRefer to the documentation for detailed information on each configuration attribute.\n\n\n## Contributing\n\nIf you find a bug, have questions, or want to contribute, please check our contribution guidelines.\n\n## License\nThis project is licensed under the MIT License - see the LICENSE file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Emailfy is a powerful Python package designed for comprehensive email address validation. It goes beyond basic syntax checks, providing advanced validation features and deliverability checks to ensure that email addresses are not only correctly formatted but also deliverable in a real-world environment.",
    "version": "0.1.6",
    "project_urls": {
        "Homepage": "https://github.com/ChristopherTavaresBR/emailfy"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "54393007d71712cfe8a99f73a1f9d98f7161a7905f2438c477d87c85f576147a",
                "md5": "454e99f30334abc96d32ad5250865b0c",
                "sha256": "ac096b13a4ea1cf99db89138b86ed1610d9169f5f2240f49f886aab655596774"
            },
            "downloads": -1,
            "filename": "emailfy-0.1.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "454e99f30334abc96d32ad5250865b0c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 17783,
            "upload_time": "2024-02-07T14:39:13",
            "upload_time_iso_8601": "2024-02-07T14:39:13.994933Z",
            "url": "https://files.pythonhosted.org/packages/54/39/3007d71712cfe8a99f73a1f9d98f7161a7905f2438c477d87c85f576147a/emailfy-0.1.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "65942ecd39ace882c21ee55a027bc9a7408c34762f10c9984b3cfa133f347d39",
                "md5": "added2cf37be422a9be2e6fb40909535",
                "sha256": "7816edf4c2fabf6475034ff8cf24de570716ae9e2aa992ef6f7ffd11553000e8"
            },
            "downloads": -1,
            "filename": "emailfy-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "added2cf37be422a9be2e6fb40909535",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 16566,
            "upload_time": "2024-02-07T14:39:15",
            "upload_time_iso_8601": "2024-02-07T14:39:15.799867Z",
            "url": "https://files.pythonhosted.org/packages/65/94/2ecd39ace882c21ee55a027bc9a7408c34762f10c9984b3cfa133f347d39/emailfy-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-07 14:39:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ChristopherTavaresBR",
    "github_project": "emailfy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "emailfy"
}
        
Elapsed time: 0.20350s