Estrarre email da un testo
Incolli qualsiasi testo e riceva tutti i suoi indirizzi email in un elenco pulito: da una frase che cita hello@example.com esce quell'indirizzo, con un conteggio di 1. I doppioni vengono uniti o mantenuti, come preferisce. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Contact us at hello@example.com today.
- Indirizzi e-mail estratti
- hello@example.com
- Numero di indirizzi
- 1
- Modalità di corrispondenza
- Unique
Incolla un testo semplice e ottieni ogni indirizzo simile a un'email in un elenco pulito. Scegli unique per eliminare duplicati senza maiuscole conservando la prima forma, o all per ogni occorrenza. Senza rete né verifica casella: solo estrazione locale.
Indirizzi unici o tutte le occorrenze
Incolli appunti, uno scambio di email o il testo di una pagina e lo strumento lo scorre da sinistra a destra, cercando tutto ciò che ha la forma nome@dominio.estensione. Con l'opzione predefinita, gli indirizzi che differiscono solo per le maiuscole contano una volta: resta la prima grafia, nell'ordine in cui ogni indirizzo è comparso. L'altra opzione conserva ogni occorrenza con le maiuscole originali, utile quando in seguito serve sapere quante volte compare un indirizzo. Una frase come Contact us at hello@example.com today dà un solo indirizzo e un conteggio di 1.
Cosa non fa e dove aiuta
Lo strumento trova gli indirizzi solo dalla forma. Non effettua chiamate di rete e non corregge un indirizzo per farlo sembrare più giusto, quindi una stranezza come due punti di fila prima della chiocciola compare così come è scritta. Serve per estrarre contatti da appunti incollati e creare una lista di potenziali clienti, raccogliere tutte le persone citate in una lunga richiesta di assistenza o preparare un elenco di indirizzi unici prima di importarlo in un foglio di calcolo.
Estrattore permissivo, non validatore RFC completo
Scorre il testo da sinistra a destra con un pattern ASCII fisso local@dominio.tld. Cattura gli indirizzi così come compaiono, incluse stranezze come doppi punti nel local. Non dimostra che la casella esista e non riscrive la stringa per renderla più stretta.
Unicode e posta internazionalizzata fuori v1
I caratteri non ASCII nel local non entrano nel pattern, quindi un local misto può dare un match parziale ASCII invece del token intero o del vuoto. IDN e punycode non sono supportati in questa versione.
Quanto testo si può incollare
Il testo è obbligatorio e ha un tetto di centomila caratteri. La risposta non riecheggia il testo sorgente completo, solo emails, count e mode.
Casi d'uso
CRM e lead
Estrai indirizzi da note incollate.
Supporto
Raccogli contatti da un ticket lungo.
Pulizia dati
Crea un elenco unico prima dell'import.
Domande frequenti
Verifica che la casella di posta esista?
No. Si limita a trovare porzioni di testo con la forma di un indirizzo, senza interrogare alcun server di posta né usare la rete. Per sapere se una casella esiste davvero serve una verifica separata.
Funziona con indirizzi accentati o domini internazionali?
Non del tutto. Le lettere accentate o di altri alfabeti prima della chiocciola non rientrano nel modello cercato, quindi il risultato può contenere solo la parte senza accenti oppure nulla. I domini internazionali non sono supportati in questa versione.
Quanto testo posso incollare?
Fino a 100.000 caratteri. Se il testo è più lungo, lo divida in più parti prima di incollarlo; la casella inoltre non può restare vuota, perché serve sempre un testo da esaminare.
Il risultato contiene il mio testo originale?
No. Il risultato riporta solo gli indirizzi trovati, quanti sono e l'opzione usata. Il resto di ciò che ha incollato, come nomi o note intorno agli indirizzi, non viene mai ripetuto.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/text/extract-emails \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Contact us at hello@example.com today."}'const res = await fetch("https://api.kit.forhosting.com/text/extract-emails", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Contact us at hello@example.com today."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/extract-emails",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Contact us at hello@example.com today."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/extract-emails", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Contact us at hello@example.com today."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Contact us at hello@example.com today."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/extract-emails", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "Contact us at hello@example.com today."
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.extract_emails",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_text_chars | 100000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Unique contro all
unique collassa match che differiscono solo per maiuscole, conserva la prima forma e l'ordine di prima apparizione. all conserva ogni occorrenza con il casing originale, utile per frequenze successive in una pipeline.
Limiti ed errori tipizzati
Mode sconosciuti e testo non stringa restituiscono invalid_input tipizzato.
Casi di integrazione
CI
Fissa gli array estratti nei fixture.
Domande tecniche
Verifica che la casella esista?
No. Solo estrazione dal testo.
Cos'è unique?
Dedup senza maiuscole, prima forma e ordine.
Indirizzi internazionalizzati?
Non del tutto in v1.
Torna il testo intero?
No. Solo emails, count e mode.
Limite di dimensione?
100000 caratteri.
Gratis nel browser?
Sì. L'app nativa usa l'API a $0.002.