Vai al contenuto
🛠️ToolsShed

Validatore Indirizzi Email

Valida il formato di uno o più indirizzi email.

Informazioni sullo strumento

Un validatore di indirizzo e-mail è uno strumento essenziale per chiunque abbia bisogno di verificare che gli indirizzi e-mail seguano le corrette regole di formato. Che tu stia creando un modulo di registrazione, pulendo una lista di contatti o semplicemente controllando se un'e-mail è strutturata correttamente, questo validatore utilizza le regole standard di formato e-mail per confermare che gli indirizzi sono sintatticamente validi. La validazione della posta elettronica aiuta a prevenire errori di digitazione e garantisce che i tentativi di comunicazione non vengano rifiutati automaticamente dai server di posta a causa di indirizzi malformati.

Utilizzare questo strumento è semplice: incolla un singolo indirizzo e-mail o più indirizzi (uno per riga o separati da virgole) nel campo di input e fai clic su convalida. Lo strumento controlla ogni indirizzo rispetto ai standard RFC 5322 e alle regole comuni di formato della posta elettronica, segnalando quali indirizzi sono validi e quali contengono errori. I casi d'uso tipici includono la verifica di elenchi di e-mail dei clienti prima dell'invio di newsletter, la convalida dell'input dell'utente nei moduli di registrazione e il controllo dei database di contatti per problemi di formattazione prima dell'integrazione del sistema.

Questo validatore è particolarmente utile per gli amministratori di dati, gli sviluppatori che integrano la verifica della posta elettronica nelle applicazioni e le aziende che gestiscono elenchi di e-mail. Nota che questo strumento controlla solo il formato di un indirizzo e-mail—non verifica se l'indirizzo esiste effettivamente o è attualmente attivo. Per una convalida completa della posta elettronica, potrebbe essere necessario combinarla con e-mail di conferma o controlli SMTP nei sistemi di produzione.

Domande Frequenti

Implementazione del Codice

import re
import dns.resolver  # pip install dnspython

def validate_email_format(email: str) -> bool:
    """Validate email format using RFC 5321/5322 rules."""
    pattern = r'^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$'
    if not re.match(pattern, email):
        return False
    local, domain = email.rsplit('@', 1)
    if len(email) > 254 or len(local) > 64:
        return False
    if '..' in email or email.startswith('.') or email.endswith('.'):
        return False
    return True

def check_mx_record(domain: str) -> bool:
    """Check if domain has MX records (can receive email)."""
    try:
        answers = dns.resolver.resolve(domain, 'MX')
        return len(answers) > 0
    except Exception:
        return False

def validate_email(email: str, check_mx: bool = False) -> dict:
    result = {
        "email": email,
        "format_valid": validate_email_format(email),
        "mx_valid": None,
    }
    if result["format_valid"] and check_mx:
        domain = email.split('@')[1]
        result["mx_valid"] = check_mx_record(domain)
    return result

# Usage
emails = ["user@example.com", "invalid@", "test..user@domain.com"]
for email in emails:
    print(validate_email(email))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.