Package: pyrustify
PyRustifyPyRustify is a Python package written in Rust that verifies the email addresses.FeaturesFeatureDescriptionSyntax validationChecks if the email address has a valid syntax according to RFC 5322MX lookupChecks if the email address has valid MX records and returns them if they existEmail deliverabilityChecks if the email address can receive mail by performing a SMTP handshake with the mail serverMiscChecks if the email address is disposable, free or a role account using predefined lists of domains and prefixesInstallationTo install PyRustify, run the following command:pip install pyrustifyUsageTo use PyRustify, you need to import it in your Python code and call eitherverify_emailorverify_emailsfunction. Theverify_emailfunction takes a single email address as an argument and returns a dictionary with the verification results. Theverify_emailsfunction takes a list of email addresses as an argument and returns a list of dictionaries with the verification results for each email address.For example:frompyrustifyimportverify_email,verify_emails# Verify a single email addressresponse=verify_email('test@gmail.com')# Or a list of email addressesresponse=verify_emails(['test@gmail.com','test2@gmail.com'])print(response)# {# "email": "test@gmail.com",# "has_valid_syntax": true,# "mx": {# "has_mx_records": true,# "mx_records": [# "alt1.gmail-smtp-in.l.google.com.",# "alt3.gmail-smtp-in.l.google.com.",# "alt4.gmail-smtp-in.l.google.com.",# "alt2.gmail-smtp-in.l.google.com.",# "gmail-smtp-in.l.google.com."# ]# },# "misc": {# "is_disposable": false,# "is_free": true,# "is_role_account": true# },# "smtp": {# "is_deliverable": false# }# }ConfigurationYou can configure PyRustify by setting the following environment variables:FROM_EMAIL: The email address to use as the sender in the SMTP request. Default isuser@example.org.HELLO_NAME: The domain name to use in the SMTP request. Default islocalhost.SMTP_PORT: The port number to use for the SMTP request. Default is25.SMTP_TIMEOUT: The timeout in seconds for the SMTP request. Default is10.CHECK_SMTP: Whether to check the email deliverability by sending a SMTP request. Default isfalse.CHECK_MX: Whether to check the MX records of the email address. Default isfalse.CHECK_MISC: Whether to check the misc features of the email address. Default isfalse.USE_SOCKS5: Whether to use a SOCKS5 proxy for the SMTP request. Default isfalse.SOCKS5_HOST: The hostname or IP address of the SOCKS5 proxy server.SOCKS5_PORT: The port number to use for the SOCKS5 proxy server.SOCKS5_USERNAME: The username for the SOCKS5 proxy server. Optional.SOCKS5_PASSWORD: The password for the SOCKS5 proxy server. Optional.For example, you can set these variables in your terminal before running your Python script:exportCHECK_SMTP=trueexportCHECK_MX=trueexportCHECK_MISC=trueCreditsPyRustify uses the following sources for its miscellaneous checks:Disposable domains:https://github.com/7c/fakefilterFree email provider domains:https://gist.github.com/okutbayNoteTo check the SMTP deliverability, you need to have port 25 open on your machine. Some ISPs may block this port by default, so you may need to contact them or use a proxy server to bypass this restriction.LicensePyRustify is licensed under the MIT License. SeeLICENSEfor more details.