I messaggi di Outlook Express rimangono sempre in “Posta in Uscita”

Quando i messaggi che abbiamo inviato tramite Outlook Express rimangono sempre in coda nella cartella “Posta in Uscita”, nonostante sia già stato ricevuto dal destinatario, ed ogni volta che facciamo “Invio/Ricevi” Outlook Express ne tenta nuovamente l’invio, significa che il programma non riesce a spostare i messaggi nella cartella “Posta Inviata”.

Il problema è causato dal file “Posta Inviata.dbx” danneggiato: purtroppo questi database si rovinano facilmente, soprattutto quando raggiungono una dimensione attorno ai 500MB. Al contrario di Office Outlook, purtroppo non è fornito alcun strumento per la riparazione degli archivi: l’unica funzione offerta è la compattazione, per recuperare lo spazio occupato dai messaggi cancellati (operazione da eseguire con cautela e scollegati da Internet).

L’unico modo per ripristinare il corretto funzionamento, senza ricorrere a programmi di terze parti in genere a pagamento, è quello di far ricreare ad Outlook Express un nuovo file DBX.

  • Posizionarsi con Esplora Risorse nella cartella contenente i file DBX della posta, il percorso è ottenibile da Strumenti > Opzioni > Manutenzione > Archivia cartella
  • Chiudere Outlook Express
  • Rinominare il file “Posta inviata.dbx” a piacere
  • Riavviare Outlook Express

Un nuovo file “Posta inviata.dbx” verrà automaticamente creato nel quale verranno salvati tutti i messaggi della posta in uscita, questa volta si spera con maggior successo. 😉

Se il database non è eccessivamente danneggiato, con un piccolo trucco è possibile tentare il recupero dello storico dei messaggi.

  • In Outlook Express creare una nuova cartella dal nome “Archivio”
  • Posizionarsi nuovamente nella cartella contenente i file DBX della posta
  • Chiudere Outlook Express
  • Cancellare il file “Archivio.dbx”
  • Rinominare il vecchio file della posta inviata in “Archivio.dbx”
  • Riavviare Outlook Express

Ora tutta la vecchia posta inviata dovrebbe essere presente nella cartella “Archivio”. Consiglio di non spostare i messaggi nella nuova “Posta Inviata” e di tenere questo archivio solo per ricercare e consultare i vecchi messaggi inviati.

Per prevenire del tutto il problema, consiglio di passare ad un client di posta più evoluto, quale Thunderbird, che salva i messaggi nel formato standard mbox, più facilmente recuperabili.

Passaggio di parametri dal server al client JavaScript

Molto spesso nello sviluppo di un sito Internet può capitare di dove inviare alcune informazioni salvate nel database ad uno script che andrà eseguito nel client dal browser.

Il metodo più semplice e diffuso è quello di passare i parametri direttamente in un blocco di codice JavaScript in linea, assieme al codice del documento HTML.

<?php
myText = "Testo che proviene dal server";
myURL = "http://url-letto-dal-server.com";
?>
alert("<?php echo myText ?>");
location.href = "<?php echo myURL ?>";

Per mantenere il codice maggiormente pulito, sarebbe ideale inserire tutti gli script JS e i fogli di stile CSS in file esterni, in modo da separare parte dinamica e la formattazione dai contenuti del documento HTML. In questo modo il nostro sito diventa più semantico, oltre che più accessibile. Si pone però il problema di far avere dei parametri agli script esterni senza richiamare ulteriori script lato server e consumare risorse.

Prima di HTML5

I tag META, nella sezione HEAD, sono da sempre usati per aggiungere informazioni al documento, normalmente per fornire l’autore, la data di modifica ed altre informazioni agli spider dei motori di ricerca. Le raccomandazioni del w3c non definiscono e non limitano quali siano le informazioni che possano essere trasmesse, quindi nessuno ci impedisce di creare dei meta-dati personalizzati. La soluzione che propongo è di inserire i valori di cui abbiamo bisogno in nostri tag META ed accedervi da JavaScript utilizzando le funzioni del DOM. Se il dato da trasmettere è un URI, le raccomandazioni del w3c consigliano di usare il tag LINK.

<meta name="myText" id="myText" value="<?php echo myText ?>" />
<link rel="myURL" id="myURL" href="<?php echo myText ?>" />
alert(document.getElementById("myText").value);
location.href = document.getElementById("myURL").href;

Il codice dello script ora può essere comodamente inserito in un file esterno con estensione JS da collegare al documento. Gli script del server dovranno generare un’unica pagina HTML, utilizzando le stesse risorse di calcolo della soluzione classica, ma sia la manutenzione del codice javascript che la sua leggibilità sono notevolmente migliorate.

Soluzione attuale per HTML 5

La soluzione precente, seppur perfettamente funzionante anche con HTML5, ha un problema: durante la convalida del codice con il validatore W3c causerà degli errori. Questo perché HTML5 non consente l’uso di meta e link tag personalizzati.

Lo stesso HTML5 però ha previsto la possibilità di utilizzare degli attributi aggiuntivi personalizzati, da inserire a piacere in qualsiasi tag, che non causeranno errori di convalida. Questi attributi devo iniziare con il suffisso data-.

<body data-myText="<?php echo myText ?>" data-myURL="<?php echo myURL ?>">
alert(document.body.getAttribute("myText"));
location.href = document.body.getAttribute("myURL");

.

Video e contenuti multimediali con il tag OBJECT

Nei browser basati su Gecko, quali Mozilla Firefox, è pienamente supportata la capacità di inserire video, animazioni e contenuti multimediali utilizzando il nuovo tag OBJECT, secondo quanto previsto dalle raccomandazioni W3C.

Anche se è ancora possibile utilizzare il tag EMBED per il medesimo scopo, è sconsigliato il suo utilizzo in quanto si tratta di un tag deprecato e che in futuro probabilmente verrà abolito.

Esistono tuttavia dei problemi di compatibilità con Internet Explorer: i browser Gecko – ed in genere tutti i browser che si attengono alle raccomandazioni W3C – richiedono di identificare il contenuto specificando il tipo MIME dell’oggetto da includere, mentre Internet Explorer richiede quale plug-in/ActiveX usare tramite il suo codice GUID univoco. Bisogna prestare molta attenzione alla sintassi dei tag OBJECT, affinché i browser Gecko li accettino senza comprometterne la compatibilità.

In questa pagina raccogliamo la sintassi cross-browser e standard-compliant del tag OBJECT per i formati più comuni.

Shockwave Flash (Adobe Macromedia)

Tipo MIME: application/x-shockwave-flash
Estensione: SWF
Sito web: http://www.adobe.com/shockwave/
Requisiti del client: Flash Player
Compatibilità: Mozilla Firefox1.0+ Mozilla Suite1.0+ Seamonkey1.0+ Camino1.0+ Netscape Navigator8.0+ Microsoft Internet Explorer5.0+ Opera8.0+ Konqueror3.0+



Esempio

Applet Java (Sun Microsystems)

Tipo MIME: application/x-java-applet
Estensione: CLASS, JAR, JNPL
Sito web: http://java.sun.com/
Requisiti del client: Java Runtime Environment
Compatibilità: Mozilla Firefox1.0+ Mozilla Suite1.0+ Seamonkey1.0+ Camino1.0+ Netscape Navigator8.0+ Microsoft Internet Explorer6.0+ Opera8.0+ Safari2.0+ Konqueror3.0+






Esempio

WMV – Windows Media Video (Microsoft Corporation)

Tipo MIME: video/x-ms-wmv
Estensione: WMV
Sito web: http://www.microsoft.com/windows/windowsmedia/
Requisiti del client: Windows Media Player, MPlayer
Compatibilità: Mozilla Firefox1.0+ Mozilla Suite1.0+ Seamonkey1.0+ Netscape Navigator8.0+ Microsoft Internet Explorer5.0+ Opera8.0+ Konqueror3.0+



Esempio

WMA – Windows Media Audio (Microsoft Corporation)

Tipo MIME: audio/x-ms-wma
Estensione: WMA

Vedi guida per WMV

ASF – Advanced Streaming Format (Microsoft Corporation)

Tipo MIME: application/asx, video/x-ms-asf
Estensione: ASF, ASX

Vedi guida per WMV

QuickTime (Apple Computer)

Tipo MIME: video/quicktime
Estensione: MOV
Sito web: http://www.apple.com/quicktime/
Requisiti del client: QuickTime Player, QuickTime Alternative, MPlayer
Compatibilità: Mozilla Firefox1.0+ Mozilla Suite1.0+ Seamonkey1.0+ Camino1.0+ Netscape Navigator8.0+ Microsoft Internet Explorer6.0+ Opera8.0+ Konqueror3.0+






Esempio

RealMedia (Real Networks)

Tipo MIME: audio/x-pn-realaudio-plugin
Estensione: RM, RA, RV, RPM
Sito web: http://www.real.com/
Requisiti del client: Real Player, Real Alternative, MPlayer
Compatibilità: Mozilla Firefox1.0+ Mozilla Suite1.0+ Seamonkey1.0+ Camino1.0+ Netscape Navigator8.0+ Microsoft Internet Explorer6.0+


Esempio

SVG – Scalable Vector Graphics (W3C)

Tipo MIME: image/svg+xml
Estensione: SVG
Sito web: http://www.w3.org/Graphics/SVG/
Requisiti del client: Gecko 1.8+ (supporto nativo), Adobe SVG Viewer
Compatibilità: Mozilla Firefox1.5+ Seamonkey1.0+ Camino1.0+ Netscape Navigator8.0+ Microsoft Internet Explorer6.0+ Opera8.0+ Konqueror3.0+