Lascio alcuni aspetti tecnici che sono stati riportati su un forum riguardo a questo problema. Spero servano a qualcosa.
Quanto alla correzione del problema, posto che la soluzione migliore dovrebbe venire dal team di mozilla, vedo che sull'altro forum siete arrivati a buon punto. Leggevo, però, di problemi con allegati corposi se la connessione va un po' a rilento, perchè l'email, allo stato attuale, dev'essere scaricata per intero prima dell'elaborazione anche con il protocollo IMAP. Forse la questione si potrebbe risolvere: il protocollo IMAP consente di accedere, su server, alle singole parti di una mail, ovvero alle singole sezioni mime senza scaricare il resto, quindi dovrebbe essere possibile accedere ai rispettivi header anche senza scaricare le sezioni corrispondenti; una gestione di questo tipo potrebbe richiedere una differenziazione esplicita tra l'accesso imap e quello pop3 nell'estensione che state realizzando, ed è realizzabile solo se TB espone le API relative a ciascun protocollo. Se non fosse possibile accedere agli header singolarmente, ma comunque l'accesso tramite imap consentisse l'accesso diretto alla sezione, si potrebbe scaricare un numero limitato di byte, in modo da ricostruire l'intestazione, o almeno ricavarne il content-type e il filename, per individuare un allegato p7m prima di procedere al download completo; in questo scenario è necessario implementare un parser minimale. Per il pop3 il problema non si pone, dato che l'intero contenuto viene scaricato in locale e cancellato dal server.
Altra cosa: leggevo di un problema con allegati misti, specialmente file non di testo. Forse avete già risolto; in caso contrario, credo che sarebbero opportune delle prove con il/i file .p7m in varie posizioni nell'elenco degli allegati, perchè, dal modo in cui era stato descritto, ho avuto l'impressione che il problema potesse essere relativo ad un qualche problema nell'elaborazione del primo p7m che renderebbe poi impossibile la gestione degli altri allegati. In questo scenario le cose si complicano, ma non troppo, posto che siano esposte le api necessarie a gestire un allegato di un certo tipo riconosciuto da TB. L'estensione dovrebbe comportarsi più o meno così:
- individuare il primo allegato p7m;
- creare l'elenco di tutti gli allegati a partire dal p7m, con i rispettivi header;
- gestire opportunamente ciascun allegato;
dove la gestione del singolo allegato dovrebbe avvenire in questo modo, se possibile:
- se l'allegato è un p7m, chiamare la routine specifica;
- in caso contrario:
--- istanziare il filtro predefinito di TB, scelto in base al content-type;
--- creare il menu contestuale relativo;
- aggiungere gli oggetti creati alla barra degli allegati.
Naturalmente, questo è possibile solo se thunderbird espone le api opportune, come dicevo prima, altrimenti diventa un lavoraccio, perchè bisognerebbe implementare a mano tutto (sarebbe un po' come creare un client di posta da zero, quindi non converrebbe).
Era buona, poi, l'idea di comunicare il problema al nuovo team che si occuperà dello sviluppo di tb, perchè da li deve venire la soluzione definitiva. Non servono poi molti dettagli tecnici, basta descrivere il modo in cui riprodurre il bug, cioè, fondamentalmente, inviare un allegato .p7m che sicuramente non potranno aprire, ed eventualmente accennare al problema con allegati di tipo misto, se confermato. Comunque, mi sa che la discussione così finisce un po' troppo OT
Spero che i miei suggerimenti possano esservi utili