Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
emval
is a blazingly fast Python email validator written in Rust, offering performance improvements of 100-1000x over traditional validators.
python-email-validator
, verify-email
, and pyIsEmail
.Install emval
from PyPI:
pip install emval
To validate an email address:
from emval import validate_email, EmailValidator
email = "example@domain.com"
try:
# Check if the email is valid.
val_email = validate_email(email)
# Utilize the normalized form for storage.
normalized_email = val_email.normalized
except Exception as e:
# Example: "Invalid Local Part: Quoting the local part before the '@' sign is not permitted in this context."
print(str(e))
Customize email validation behavior using the EmailValidator
class:
from emval import EmailValidator
emval = EmailValidator(
allow_smtputf8=False,
allow_empty_local=True,
allow_quoted_local=True,
allow_domain_literal=True,
deliverable_address=False,
)
email = "user@[192.168.1.1]"
try:
validated_email = emval.validate_email(email)
print(validated_email)
except Exception as e:
print(str(e))
allow_smtputf8
: Allows internationalized email addresses.allow_empty_local
: Allows an empty local part (e.g., @domain.com
).allow_quoted_local
: Allows quoted local parts (e.g., "user name"@domain.com
).allow_domain_literal
: Allows domain literals (e.g., [192.168.0.1]
).deliverable_address
: Checks if the email address is deliverable by verifying the domain's MX records.emval adheres to the syntax rules defined in RFC 5322 and RFC 6531. It supports both ASCII and internationalized characters.
emval converts non-ASCII domain names into their ASCII "Punycode" form according to IDNA 2008. This ensures compatibility with systems that do not support Unicode.
emval allows international characters in the local part of email addresses, following RFC 6531. It offers options to handle environments without SMTPUTF8 support.
emval rejects unsafe Unicode characters to enhance security, preventing display and interpretation issues.
emval normalizes email addresses to ensure consistency:
This project draws inspiration from python-email-validator. While python-email-validator
is more comprehensive, emval
aims to provide a faster solution.
For questions and issues, please open an issue in the GitHub issue tracker.
emval is licensed under the MIT License. See the LICENSE file for more details.
FAQs
emval is a blazingly fast email validator
We found that emval demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.