Premessa
Si tratta di un problema specifico per il quale riporto (tradotta) la soluzione sperimentata da un utente. La discussione originale si trova in questa pagina. Chi non ha questo problema se vuole può continuare a leggere per curiosità intellettuale, ma è preferibile che non si metta a pasticciare con il Terminale. E chi ha riscontrato il problema qui riportato è invitato a prestare molta attenzione nell’inserire i comandi nel Terminale. (Per quanto mi è dato vedere non dovrebbero essere comandi distruttivi, comunque). Se non si è sicuri sui caratteri o sulla corretta spaziatura basta fare un copia-incolla, sfruttando questa pagina o quella della discussione originale (v. link sopra).
Il problema
Di tanto in tanto, in Mac OS X 10.4 e 10.5, è possibile che Mail.app non riesca più a effettuare ricerche sull’intero contenuto del messaggio mediante il campo di ricerca Spotlight in alto a destra. (Variante: Impossibile effettuare ricerche Spotlight in Mail.app 3 sotto Leopard. Inserendo dei termini, non accade nulla).
Verso una soluzione
Questo suggerimento su Mac OS X Hints sostiene che la ragione del problema possono essere l’aver disabilitato Spotlight, oppure che l’indice di Spotlight si è corrotto e occorre ricostruirlo. Di conseguenza, l’autore del suggerimento invita prima ad assicurarsi che Spotlight sia attivato sul volume in cui risiede la posta elettronica, entrando in Terminale e scrivendo:
sudo mdutil ‑i on “/Volumes/Macintosh HD”
(Sostituire Macintosh HD con il nome del proprio disco rigido).
Se dopo aver fatto questo le ricerche in Mail continuano a non funzionare, si può provare a ricostruire l’indice. Nel Terminale si scriverà:
sudo mdutil ‑E “/Volumes/Macintosh HD”
(Anche qui, sostituire Macintosh HD con il nome del proprio volume).
Fra i commenti a questo suggerimento, il più interessante rimanda alla discussione sui forum Apple (v. il primo link nel mio post), e riassume dicendo:
In particolare, ho notato che re-indicizzando soltanto la cartella delle mail con il comando mdimport ~/Library/Mail ha funzionato molto più velocemente che non effettuare una re-indicizzazione completa del mio disco rigido.
Ora riporto l’intervento della discussione sui forum Apple, che ho trovato molto affascinante per il grado di approfondimento della questione.
La soluzione per me è stata eliminare una vecchia copia di Mail.app che ho trovato sul mio disco rigido secondario e poi dare il comando mdimport.
[…]
Prima di copincollare comandi nel Terminale, leggete tutta la spiegazione.
Ho avuto lo stesso problema […] e ho provato le soluzioni più varie, senza risultati. Poi ne ho provata un’altra ancora e ha funzionato, indicizzando tutte le mie email. Ecco che cosa ho inserito alla linea di comando. Aspettate a scrivere. Il comando funzionerà, ma questa può non essere la causa primaria del vostro problema. Lo riporto qui a titolo di spiegazione:
find ~/Library/Mail ‑name “*.emlx” ‑exec mdimport {} ;
Il comando avvia la ricerca dei singoli file dei messaggi (*.emlx) e li passa a mdimport uno per uno per l’indicizzazione. Nel mio caso, un semplice mdimport ~/Library/Mail non è servito: Spotlight, infatti, non “vedeva” i singoli file dei messaggi. Ma perché?
[…] Ho scoperto che nel Finder le mailbox (~/Library/Mail/Mailboxes/INBOX.mbox, ecc.) venivano mostrate come package di sistema invece che come caselle di Mail. Allora ho provato nuovamente un mdimport ‑d1 ~/Library/Mail con un po’ di debugging abilitato. Ecco! Spotlight importava questa cartella come tipo “dyn.ah62d4rv4ge81g45mr3wgn8a” e simili, ossia un UTI dinamico, e non come “com.apple.mail.mbox”, come avrebbe dovuto essere. Dato che questo UTI dinamico sconosciuto non costituiva un’informazione utile per Spotlight, la cartella veniva semplicemente ignorata, rendendo così inefficace qualsiasi ricerca del contenuto dei messaggi in Mail.
Pertanto mi sono chiesto: che cosa sta sovrascrivendo questi UTI? Visto che la situazione non si presentava con un altro account utente in Leopard, ho pensato che fosse colpa mia — avevo creato qualche UTI personalizzato in passato, però nulla che avesse a che fare con la posta. Quindi che cosa riserva degli UTI per Mail.app? Beh… Mail.app. Un altro Mail.app? Esattamente. Mi sono ricordato di avere un altro backup del sistema pre-Spotlight sul mio attuale sistema, completo di tutte le applicazioni, fra cui un Mail.app 1.3 o giù di lì. Se la memoria non mi inganna, Apple ha cambiato la modalità con cui Mail registra i messaggi a partire dalla versione 2.0 e pare che da quella versione siano anche cambiati gli UTI di .mbox al nuovo formato. Ho quindi cancellato la vecchia versione di Mail e subito le icone dei vari .mbox sono cambiate e ho potuto aprire le cartelle corrispondenti nel Finder. Ho riprovato a dare il comando mdimport ~/Library/Mail e voilà, Spotlight ha importato tutte le mie email.
Riassumendo, provate questi 5 passaggi:
1. Cercate nel vostro sistema eventuali copie diverse di Mail.app. Lo si può fare dal Finder con Spotlight oppure inserendo nel Terminale:
sudo find / ‑type d ‑name “Mail.app” ‑ls
(Per eseguire il comando sudo dovrete essere amministratori. Inserite la password quando vi viene richiesta).
2. Individuate e controllate i vari doppioni di Mail.app nel Finder facendo Mela‑I per ottenere il pannello informazioni.
3. Cancellate (e svuotate il Cestino) tutti i doppioni di Mail.app tranne la copia attuale del programma, contenuta in /Applicazioni.
4. Inserite nel Terminale la riga seguente per fare in modo che Spotlight importi i messaggi email:
mdimport ~/Library/Mail
Dovrebbe impiegare più tempo adesso, a seconda di quanti messaggi email conservate nel vostro Mac.
5. Controllate il risultato effettuando prove di ricerca dei contenuti di messaggi email all’interno di Mail o nel Finder con Spotlight.
Nota: Se avete trovato ed eliminato vecchie versioni di Mail.app ma il passo 4 non ha funzionato, potreste dover eseguire un Logout/Login o anche un riavvio del Mac. Nel mio caso l’effetto è stato istantaneo. Se tutta questa procedura non è servita a nulla mi spiace, ma forse può comunque esservi d’aiuto per risalire al problema.
Come ulteriore nota conclusiva, aggiungo che non avendo sperimentato il problema in questione sul mio PowerBook, non ho provato di persona a seguire l’intera procedura, ma dato che per altri utenti ha funzionato, ho pensato fosse opportuno riportarla. Come ho già detto, nessuno dei comandi da Terminale presenti nel post è distruttivo di per sé, pertanto non ci dovrebbero essere grossi rischi dietro l’angolo. Se fate pasticci con i vostri Mac, però, sappiate che è colpa vostra, non mia.