Visualizzazione post con etichetta email. Mostra tutti i post
Visualizzazione post con etichetta email. Mostra tutti i post

martedì 11 luglio 2023

Posta elettronica: Visualizzare il contenuto dell'allegato Winmail.dat

Il problema dell’allegato Winmail.dat è una questione ben nota agli utenti che da anni utilizzano i servizi di posta elettronica. Nell'articolo Outlook: i destinatari non visualizzano gli allegati o questi vengono sostituiti dal file winmail.dat sono state illustrate le cause che provocano la creazione dell'allegato Winmail.dat: generalmente questo si verifica quando si invia un'email utilizzando il formato RTF (Microsoft Outlook Rich text Format) o il Transport Neutral Encapsulation Format (TNEF). Si tratta di due formati proprietari di Microsoft che non andrebbero usati quando si invia un messaggio all'esterno della propria infrastruttura.

Se abbiamo ricevuto un'email con l'allegato Winmail.dat e non possiamo (o non vogliamo) contattare il mittente per farci inviare l'email nel formato corretto possiamo:
  • Inoltrare l'email ad un nostro account gmail. Google ha implementato su Gmail il motore di decodifica per il formato TNEF pertanto l'allegato verrà decodificato e visualizzato in maniera corretta.
  • Utilizzare servizi di terze parti come l'ottimo sito web Winmaildat.com. Sulla pagina web sarà possibile fare l'upload del file Winmail.dat o ATT0001.dat (con dimensione non superiore ai 50MB) e, cliccando sul pulsante Start, visualizzare il suo contenuto. I file contenuti nell'allegato verranno estratti e sarà possibile scaricarli sul PC. Sono disponibili anche le app per dispositivi iPhone, iPad, Android, Mac e Windows
Winmaildat.com


venerdì 14 giugno 2019

MS Outlook: Visualizzare gli indirizzi dei destinatari nell'elenco messaggi della posta inviata

Nell'articolo Outlook: Visualizzare l'indirizzo email del mittente nel riquadro elenco messaggi  è stato mostrato come visualizzare l'indirizzo del mittente nell'elenco messaggi della posta in arrivo attraverso l'utilizzo di moduli personalizzati. Per visualizzare gli indirizzi dei destinatari nella cartella posta inviata non è possibile adottare lo stesso metodo ma bisogna procedere in modo diverso. In questo articolo illustrerò come raggiungere l'obiettivo tramite l'utilizzo di macro. 

La prima macro che verrà mostrata consente di aggiungere una nuova colonna all'interno della cartella posta inviata: Destinatari. Affinché la nuova colonna venga compilata con gli indirizzi dei destinatari è necessario selezionare le email di proprio interesse ed eseguire la macro. Vediamo passo passo come procedere:
  • In Outlook, dal menu File -> Opzioni selezionare Personalizzazione barra multifunzione
  • Nell'elenco Schede principali (sulla destra) aggiungere il segno di spunta alla voce Sviluppo e cliccare su OK;
    Outlook, Scheda Sviluppo
    FIG 1 - Outlook, Scheda Sviluppo
  • Dalla scheda Sviluppo cliccare su Sicurezza macro;
    Outlook, Sicurezza macro
    FIG 2 - Outlook, Sicurezza macro
  • Dalla finestra Centro protezione, nella sezione Impostazioni macro, selezionare Visualizza notifiche per tutte le macro. In questo modo all'avvio di Outlook verrà richiesto se eseguire la macro.
    Outlook, Visualizza notifiche per tutte le macro
    FIG 3 - Outlook, Visualizza notifiche per tutte le macro
  • Avviare Microsoft Visual Basic, Application Edition tramite la combinazione di tasti ALT+F11;
  • Nella visualizzazione ad albero del progetto, sul lato sinistro della finestra, cliccare 2 volte su ThisOutlookSession;
    Outlook, Microsoft Visual Basic, Application Edition
    FIG 4 - Outlook, Microsoft Visual Basic, Application Edition
  • Copiare e incollare il seguente script;
    Public Sub IndirizziDestinatari()
        Dim currentExplorer As Explorer
        Dim Selezione As Selection
        Dim obj, objMail As Object
        Dim objProp As Outlook.UserProperty
        Dim strDomain
        Dim Recipients As Outlook.Recipients
        Dim recip As String 'Casella di posta
        Dim i
         
        Set currentExplorer = Application.ActiveExplorer
        Set Selezione = currentExplorer.Selection
     
        On Error Resume Next
     
     For Each obj In Selezione
         Set objMail = obj
      strDomain = ""
      Set Recipients = objMail.Recipients
        For i = Recipients.count To 1 Step -1
        recip$ = Recipients.item(i).Address    
         ' Per elaborare gli indirizzi x.500
           If InStr(1, LCase(recip), "/ou=") Then recip = Right(recip, Len(recip) - InStr(1, LCase(recip), "recipients") - 13)
    
         ' Aggiunge ; se sono presenti più indirizzi
        If i = 1 Then
         strDomain = strDomain & recip
        Else
         strDomain = strDomain & recip & "; "
        End If
        Next i
        
          Debug.Print strDomain
        Set objProp = objMail.UserProperties.Add("Destinatari", olText, True)
        objProp.Value = strDomain
        objMail.Save
        Err.Clear
     Next
      
        Set currentExplorer = Nothing
        Set obj = Nothing
        Set Selezione = Nothing
    End Sub
    
  • Salvare cliccando sull'apposita icona quindi ritornare alla finestra principale di Outlook;
    Outlook, Macro VBA IndirizziDestinatari
    FIG 5 - Outlook, Macro VBA IndirizziDestinatari
  • Selezionare la cartella Posta inviata e selezionare un'email, o un gruppo di email, per le quali si intende visualizzare l'indirizzo email dei destinatari;
  • Selezionare la scheda Sviluppo, cliccare su Macro quindi selezionare la macro creata;
    Outlook, Esecuzione Macro
    FIG 6 - Outlook, Esecuzione Macro
  • Dalla scheda Visualizza, selezionare Cambia visualizzazione e impostare l'opzione Singola;

    FIG 7 - Outlook, Visualizzazione Singola
  • Sempre dalla scheda Visualizza, selezionare Impostazioni visualizzazione quindi cliccare sul pulsante Colonne;
    Outlook, Colonne
    FIG 8 - Outlook, Colonne
  • Nella casella Seleziona colonne disponibili da selezionare Campi definiti dall'utente nella cartella;
  • Nella casella Colonne disponibili verrà elencata la colonna Destinatari creata dalla nostra macro, selezionarla e cliccare sul pulsante Aggiungi per aggiungere la nuova colonna alla visualizzazione. É possibile spostare la colonna nella posizione desiderata tramite i pulsanti Sposta su e Sposta giù quindi confermare la modifica cliccando su OK e poi ancora su OK per tornare ad Outlook.
    FIG 9 - Outlook, Aggiungere la colonna Destinatari


In un'infrastruttura MS Exchange Server gli indirizzi possono essere visualizzati come indirizzi x.500 e non come indirizzo SMTP. Un indirizzo x.500 è una stringa simile alla seguente
/o=azienda /ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=<user name o email>
All'interno della macro gli indirizzi x.500 vengono gestiti con la seguente riga di codice
If InStr(1, LCase(recip), "/ou=") Then recip = Right(recip, Len(recip) - InStr(1, LCase(recip), "recipients") - 13)
che preleva l'ultima parte dell'indirizzo x.500 (quella successiva alla stringa Recipients) dove è contenuto l'user name o l'indirizzo di posta.

La procedura sopra esposta funziona per i messaggi già inviati. Per fare in modo che il campo venga valorizzato automaticamente ad ogni invio di un'email:
  • Da Outlook, avviare Microsoft Visual Basic, Application Edition tramite la combinazione di tasti ALT+F11;
  • Nella visualizzazione ad albero del progetto, sul lato sinistro della finestra, selezionare ThisOutlookSession;
  • Posizionarsi nella prima riga della pagina quindi copiare ed incollare il seguente codice VBA
    Dim WithEvents olSent As Items
      
    Private Sub Application_Startup()
       Dim NS As Outlook.NameSpace
       Set NS = Application.GetNamespace("MAPI")
       Set olSent = NS.GetDefaultFolder(olFolderSentMail).Items
       Set NS = Nothing
    End Sub
      
    Private Sub olSent_ItemAdd(ByVal Item As Object)
        Dim objProp As Outlook.UserProperty
        Dim strDomain As String
        Dim Recipients As Outlook.Recipients
        Dim recip As String 'Casella di posta
        Dim i
                       
    strDomain = ""
    Set Recipients = Item.Recipients
      For i = Recipients.count To 1 Step -1
         recip$ = Recipients.Item(i).Address
         ' Per elaborare gli indirizzi x.500
         If InStr(1, LCase(recip), "/ou=") Then recip = Right(recip, Len(recip) - InStr(1, LCase(recip), "recipients") - 13)
         ' Aggiunge ; se sono presenti più indirizzi
         If i = 1 Then
             strDomain = strDomain & recip
         Else
             strDomain = strDomain & recip & "; "
         End If
      Next i
          
      Set objProp = Item.UserProperties.Add("Destinatari", olText, True)
        objProp.Value = strDomain
        Item.Save
      
        Err.Clear
             
        Set objProp = Nothing
        Set Recipients = Nothing
             
     End Sub
    
  • Riavviare Outlook e provare ad inviare un nuovo messaggio.
    Outlook, Campo Destinatari
    FIG 10 - Outlook, Campo Destinatari






giovedì 13 dicembre 2018

Verificare se il proprio indirizzo email è stato venduto

Nell'articolo Verificare se il proprio account online è stato violato è stato mostrato come, attraverso il servizio online Have I Been Pwned? (https://haveibeenpwned.com), verificare se il proprio account è rimasto vittima di un data breach di cui sono stati divulgati i dettagli. Il servizio online Have I Been Sold? (https://haveibeensold.app) funziona in maniera analoga permettendo di verificare se un indirizzo email è stato venduto ed è presente in una delle liste di contatti vendute su Internet. Basta digitare il l'indirizzo nell'apposita casella e cliccare sul pulsante Have I Been Sold? per visualizzare, in pochi secondi, il risultato. L'indirizzo email inserito non verrà memorizzato da Have I Been Sold?.


Have I Been Sold?
FIG 1 - Have I Been Sold?




martedì 6 marzo 2018

Outlook Quick Tip: Verificare la data e ora di modifica di un'email

In alcune contesti può essere utile verificare la data e ora di modifica di un particolare messaggio. 


Il client di posta Microsoft Outlook, con le impostazioni di default, non visualizza tale informazione. Per visualizzare la data e ora di modifica di un'email in Outlook si può selezionarla nella sezione elenco messaggi di Outlook e premere la combinazione di tasti ALT+Invio (FIG 1).
MS Outlook, Data e ora di modifica del messaggio
FIG 1 - MS Outlook, Data e ora di modifica del messaggio

Per aggiungere tale informazione in una colonna della sezione elenco messaggi in modo che sia sempre visibile:
  • Dal menu Visualizza cliccare su Aggiungi colonne;
    MS Outlook, Aggiungi colonne
    FIG 2 - MS Outlook, Aggiungi colonne
  • Dalla casella Seleziona colonne disponibili da selezionare Campi data/ora;
  • Nella casella Colonne disponibili selezionare Modificato quindi cliccare sul tasto Aggiungi;

    MS Outlook, Aggiungere la colonna "Modificato"
    FIG 3 - MS Outlook, Aggiungere la colonna "Modificato"
  • Cliccando sui pulsanti Sposta su e Sposta giù è possibile modificare l'ordine delle colonne;
  • Cliccare su OK per rendere effettiva la modifica.





lunedì 5 marzo 2018

MS Exchange: Creare una cartella all'interno della propria mailbox tramite EMS

MS Exchange mette a disposizione il cmdlet New-MailboxFolder per la creazione di cartelle nella propria mailbox tramite Exchange Management Shell (EMS). Tale cmdlet non può essere utilizzato dagli amministratori per la creazione di cartelle su altre mailbox al di fuori di quella personale.

La sintassi del comando è la seguente:
New-MailboxFolder  -Parent <MailboxFolderIdParameter> -Name <String>


Parametri principali


Parent
Al parametro Parent va passata la mailbox e la cartella nella quale si intende creare la nuova cartella. Nel caso in cui la cartella padre non venga specificata, il cmdlet crea la nuova cartella nella root della casella. Se il nome della cartella padre contiene spazi va racchiuso tra apici. La mailbox può essere indicata tramite il nome, il Display Name, l'Alias, il Distinguished Name, l'indirizzo di posta o Id utente.

Name
Il  parametro Name consente di specificare il nome da assegnare alla nuova cartella. Nel caso in cui il nome contenga spazi va racchiuso tra apici.



Esempi


Esempio 1
Per creare una nuova cartella nella root della mailbox si può utilizzare il comando
New-MailboxFolder -Parent GLUBRANO -Name Personal
Dove GLUBRANO indica la mailbox e Personal rappresenta il nome da assegnare alla nuova cartella.


Esempio 2
Per creare una nuova cartella all'interno di una cartella già esistente si può utilizzare il comando
New-MailboxFolder -Parent GLUBRANO:\"Posta in arrivo" -Name Personal
Come si evince dal comando, al parametro Parent viene passata la mailbox e il nome della cartella padre, racchiuso tra apici in quanto contiene spazi, in cui creare la nuova cartella Personal.

New-MailboxFolder, creare una nuova cartella all'interno della mailbox
FIG 1 - New-MailboxFolder, creare una nuova cartella all'interno della mailbox




venerdì 2 marzo 2018

MS Exchange: Verificare la versione di Exchange in esecuzione nella propria organizzazione

In un organizzazione può rivelarsi utile conoscere le versioni di MS Exchange in esecuzione sui server al fine di allineare/aggiornare i sistemi.
Per visualizzare il numero di build per le versioni di MS Exchange 2013/2016 in esecuzione sulla propria infrastruttura si può utilizzare il cmdlet Get-ExchangeServer in Exchange Management Shell (EMS).

Il comando da eseguire per visualizzare i server Exchange con relativa versione è il seguente:
Get-ExchangeServer | Format-List Name, Edition, AdminDisplayVersion


Visualizzare il numero di build dei server MS Exchange
FIG 1 - Visualizzare il numero di build dei server MS Exchange

Per visualizzare un elenco riepilogativo con tutti gli attributi di tutti i server Exchange presenti nell'infrastruttura si utilizza il comando
Get-ExchangeServer | Format-List


Per visualizzare le informazioni su uno specifico server Exchange, al cmdlet Get-ExchangeServer va passato il parametro Identity seguito dal nome del server di proprio interesse
Get-ExchangeServer -Identity SrvExc01 | Format-List




giovedì 1 marzo 2018

MS Exchange: Verificare le impostazioni delle risposte automatiche sulle caselle di posta tramite EMS

Per verificare le impostazioni delle risposte automatiche (Fuori sede) sulle caselle di posta, MS Exchange mette a disposizione il cmdlet Get-MailboxAutoReplyConfiguration da utilizzare in Exchange Management Shell (EMS).

Tramite il parametro Identity è possibile specificare la casella sulla quale effettuare la verifica. Il seguente comando, eseguito in Exchange Management Shell, restituirà le impostazioni della risposta automatica sulla casella specificata giovanni.lubrano@contoso.com
Get-MailboxAutoReplyConfiguration -identity giovanni.lubrano@contoso.com | FL


Tra le impostazioni restituite troviamo:
  • Se la risposta automatica è abilitata (Enabled), pianificata (Scheduledo disabilitata (Disabled);
  • Data di inizio e fine in cui verrà inviata la risposta automatica;
  • Se i mittenti esterni ricevono la risposta automatica (nessuno, mittenti noti o tutti);
  • Messaggio di risposta automatica da inviare ai mittenti interni ed esterni.

Per verificare se la risposta automatica è abilitata , disabilitata  o schedulata si può interrogare esclusivamente lo stato di AutoReplyState utilizzando il comando
Get-MailboxAutoReplyConfiguration -identity giovanni.lubrano@contoso.com | FL AutoReplyState


MS Exchange, Verifica attivazione Risposte automatiche (Fuori sede)
FIG 1 - MS Exchange, Verifica attivazione Risposte automatiche (Fuori sede) 

Se si intende verificare le impostazioni solo sulle mailbox dell'infrastruttura su cui è attiva la risposta automatica si può utilizzare il comando
Get-Mailbox | Get-MailboxAutoReplyConfiguration | Where-Object { $_.AutoReplyState -eq "Enabled" }





mercoledì 12 aprile 2017

Recuperare l'account e la password da un client di posta tramite Mail PassView

Per recuperare velocemente informazioni sugli account e relative password dai client di posta installati sul PC è possibile utilizzare il tool della NirSoft Mail PassView.
Il tool è gratuito, occupa pochi KB e può essere scaricato da http://www.nirsoft.net/utils/mailpv.html. Dalla pagina indicata è possibile scegliere 2 versioni: la versione che non richiede alcuna installazione, composta da un file zip contenente l'eseguibile e un file di help, e la versione installabile dotata di setup.
Il tool permette di recuperare gli account e relative password dai seguenti client di posta:
Outlook Express
Microsoft Outlook 2000 (solo account POP3 e SMTP)
Microsoft Outlook 2002/2003/2007/2010/2013/2016 (account POP3, IMAP, HTTP e SMTP)
Windows Mail
Windows Live Mail
IncrediMail
Eudora
Netscape 6.x/7.x (solo se la password non è cifrata con la master password)
Mozilla Thunderbird (solo se la password non è cifrata con la master password)
Group Mail Free
Yahoo! Mail (Se la password è salvata nell'applicazione Yahoo! Messenger)
Hotmail/MSN mail (se la password è salvata in MSN/Windows/Live Messenger)
Gmail (se la password è salvata in Gmail Notifier, Google Desktop, Google Talk)

L'utilizzo di Mail PassView è molto semplice: una volta avviato l'eseguibile (mailpv.exe) si aprirà una finestra contenente, oltre alla lista degli account e relative password salvati all'interno dei client di posta presenti sul PC, anche altre informazioni più o meno importanti. Il tool permette il salvataggio dei dati recuperati all'interno di un file di testo o nella clipboard.

NirSoft, Mail PassView
FIG 1 - NirSoft, Mail PassView




martedì 3 gennaio 2017

Outlook Quick Tip: Copiare la struttura di cartelle e sottocartelle presenti in un file PST all'interno di un altro file

In ambiente di lavoro potremmo avere la necessità di creare un nuovo file archivio (.PST) con la stessa struttura di cartelle/sottocartelle presente in un altro file.
Outlook non permette di copiare solo la struttura delle cartelle escludendo le email in queste contenute tuttavia, con un piccolo trucco, possiamo raggiungere il nostro obiettivo.

Vediamo come fare in Outlook 2016 e versioni precedenti.
  • Avviare Outlook e assicurarsi che il file PST da utilizzare come modello sia connesso;
  • Dal menu File selezionare Informazioni;
  • Cliccare sul pulsante  Strumenti (Strumenti pulizia per Outlook 2013 e antecedenti) quindi selezionare Pulisci vecchi elementi... (Archivio in Outlook 2013 e antecedenti);
    Outlook, Pulisci vecchi elementi...
    FIG 1 - Outlook, Pulisci vecchi elementi...
  • Nella nuova finestra selezionare l'opzione Archivia la cartella e tutte le sottocartelle e, nel riquadro sottostante, selezionare il file PST da utilizzare come modello;
  • In Archivia elementi antecedenti inseriamo una data sicuramente antecedente alla prima email archiviata nel file (ad es. 01/01/1995);
  • In File archivio impostare il percorso e il nome del nuovo file che si intende creare (o selezionare un file PST su cui si intende copiare la struttura), quindi cliccare su OK e attendere il termine dell'operazione.

    Outlook, archiviazione elementi
    FIG 2 - Outlook, archiviazione elementi

A questo punto avremo il nostro file con la stessa struttura di quello esistente ma privo di email.




giovedì 29 dicembre 2016

PowerShell: Inviare un'email tramite il cmdlet Send-MailMessage

Per inviare un'email tramite PowerShell è possibile utilizzare il cmdlet Send-MailMessage. La sintassi del comando è la seguente:

Send-MailMessage [-Attachments <String[]>] [-Bcc <String[]>] [[-Body] <String>] [-BodyAsHtml] [-Encoding <Encoding>] [-Cc <String[]>] [-DeliveryNotificationOption <DeliveryNotificationOptions>] -From <String> [[-SmtpServer] <String>] [-Priority <MailPriority>] [-Subject] <String> [-To] <String[]> [-Credential <PSCredential>] [-UseSsl] [-Port <Int32>] [<CommonParameters>]


Parametri principali


-Attachments
Consente di specificare il path e il nome dei file da allegare al messaggio.

-Bcc
Blind Carbon Copy. Permette di specificare uno o più indirizzi a cui inviare il messaggio in copia conoscenza nascosta. Tali indirizzi non vengono visualizzati dai destinatari del messaggio.

-Body
Al parametro Body va passato il corpo del messaggio.

-BodyAsHtml

La presenza di tale parametro indica che il corpo del messaggio passato a Body contiene codice HTML.

-Cc
Specifica gli indirizzi a cui inviare l'email in copia conoscenza (o copia carbone). E' possibile specificare solo l'indirizzo email oppure nome e indirizzo nel formato Nome <esempio@contoso.com>

-Credential
Per default l'email viene inviata con le credenziali dell'utente corrente. Per inviare l'email con un altro account è necessario utilizzare tale parametro.

-DeliveryNotificationOption

Il parametro DeliveryNotificationOption (abbreviabile in -dno) consente di impostare le opzioni di notifica del messaggio. I valori accettati sono:
None Nessuna notifica (impostazioni di default);
OnSuccess Si riceve una notifica se il messaggio viene recapitato correttamente;
OnFailure Si riceve un messaggio se il messaggio non viene recapitato;
Delay  Si riceve in caso di recapito ritardato;
Never Non notifica in alcun caso.
Alcune opzioni possono essere utilizzare contemporaneamente ad es. OnSuccess e OnFailure.

-Encoding
Specifica il tipo di codifica utilizzata dal corpo e dall'oggetto del messaggio. I valori accettati sono:
ASCII
UTF8
UTF7
UTF32
Unicode
BigEndianUnicode
Default
OEM
Per default è impostata la codifica ASCII.

-From
Il parametro From è obbligatorio e viene utilizzato per specificare l'indirizzo del mittente. Al parametro è  possibile passare solo l'indirizzo email oppure nome e indirizzo nel formato Nome <esempio@contoso.com>.

-Port
Questo parametro è disponibile a partire da PowerShell 3.0 e consente di indicare una porta SMTP alternativa a quella di default (la porta SMTP di default è la 25).

-Priority
Il parametro Priority permette di specificare la priorità del messaggio. I valori accettati sono:
Normal
High
Low

-SmtpServer
Permette di specificare il nome del server SMTP che invia il messaggio.

-Subject
Questo è un parametro obbligatorio. Al parametro va passato l'oggetto dell'email.

-To
Tale parametro, richiesto, permette di indicare gli indirizzi a cui spedire il messaggio. Anche in questo caso (come per i parametri From, CC e BCC) è possibile specificare solo l'indirizzo email oppure nome e indirizzo nel formato Nome <esempio@contoso.com>.

-UseSsl
Se usato, forza la connessione al server remoto tramite protocollo SSL (Secure Sockets Layer).


Vediamo alcuni esempi

Esempio 1
Send-MailMessage -SmtpServer Smtp.contoso.com -To bill.gates@example.com -From 'Giovanni Lubrano <giovanni.lubrano@contoso>' -Subject 'Riunione Aziendale' -Body '<h1>Ciao Bill</h1>' -BodyAsHtml -Priority High
Invia un messaggio a priorità alta in formato HTML.

Esempio 2
Send-MailMessage -From "Giovanni Lubrano <giovanni.lubrano@example.com>" -To "Bill Gates <bill.gates@example.com>", "Mark Zuckerberg <mark.zuckerberg@example2.com>" -Subject "Invio CV in allegato" -Body "In allegato il mio CV." -Attachments "Curriculum.pdf" -Priority High -dno onSuccess, onFailure -SmtpServer "smtp.contoso.com"
Invio di un allegato a più persone con un messaggio di solo testo, a priorità alta e con richiesta di notifica nel caso in cui il messaggio venga recapitato o nel caso in cui la consegna fallisca.




giovedì 2 ottobre 2014

Outlook: i destinatari non visualizzano gli allegati o questi vengono sostituiti dal file winmail.dat

Può capitare che i destinatari di un'email non visualizzino gli allegati al messaggio: gli allegati sono stati rimossi e/o sostituiti da un file WINMAIL.DAT.

Nel caso in cui il destinatario non visualizzi alcun allegato (neanche il file WINMAIL.DAT) è da verificare se siano stati rimossi dal client di posta o dall'antivirus utilizzato dal destinatario.

Sulla nostra infrastruttura di posta possiamo comunque procedere a verificare se tutte le impostazioni siano corrette. Generalmente quando i destinatari non ricevono i nostri allegati o ricevono in allegato un unico file nominato WINMAIL.DAT la causa è da ricercare nel formato del messaggio inviato: è probabile che il messaggio sia stato inviato in formato RTF (Rich Text Format) che non viene convertito correttamente in HTML o in solo testo. Il formato RTF non andrebbe mai utilizzato quando si invia un messaggio di posta all'esterno della propria infrastruttura di posta (Internet) mentre all'interno di un'infrastruttura di posta composta da server Exchange e client Outlook non si hanno problemi.

Per inibire l'invio di email in formato RTF è necessario adottare diverse precauzioni che illustrerò di seguito.

Verificare le impostazioni generali di composizione messaggi in Outlook:
  • In Outlook 2010/2013 dal menu File selezionare Opzioni;
  • Posizionarsi nella sezione Posta
  • In Scrittura messaggi impostare il tipo di formato desiderato scegliendo tra HTML e Testo normale evitando il Formato RTF
    Scrittura messaggi
    FIG 1 - Opzioni Outlook Scrittura messaggi
  • In Formato messaggi verificare che la voce All'invio di messaggi in formato RTF a destinatari su Internet: sia impostata su Converti in formato HTML
    FIG 2 - Formato messaggi, Converti in formato HTML
Verificare i contatti:
Per ciascun contatto è possibile impostare il formato del messaggio. In questo modo ogni messaggio inviato a quel determinato contatto viene convertito nel formato impostato.

In Outlook 2010:
  • Aprire il contatto che si intende verificare;
  • Doppio click sull'indirizzo di posta elettronica;
  • Cliccare sull'icona per visualizzare le altre opzioni e selezionare Proprietà Outlook;
Proprietà Contatto
FIG 3 - Proprietà Contatto
  • Selezionare Lascia che il formato per l'invio venga scelto da Outlook
Formato Messaggio del contatto
FIG 4 - Formato Messaggio del contatto

In Outlook 2013:
In Outlook 2013 l'operazione è del tutto simile ma va fatta velocemente altrimenti, una volta cliccato con il tasto destro sull'indirizzo di posta, nel menu contestuale non appare la voce Apri proprietà di Outlook. Se siamo stati troppo lenti bisogna riavviare Outlook e riprovare
Proprietà di Outlook in Outlook 2013
FIG 5 - Proprietà di Outlook in Outlook 2013
Se non vogliamo affrontare questa sfida di velocità, possiamo agire tramite l'editor di registro creando, all'interno della chiave HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Contactcard, il valore DWORD turnonLegacygaldialog e impostarlo ad 1

Key: HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Contactcard
Value name: turnonlegacygaldialog
Value type: REG_DWORD
Value: 1

Per chi non vuole mettere mano al registro può scaricare il file .reg dal seguente link
DOWNLOAD


Convertire il messaggio manualmente
Nella creazione, inoltro o risposta di un messaggio possiamo impostare manualmente il formato dello stesso.

In Outlook 2010/2013 selezioniamo il ribbon Formato Testo quindi, nella sezione Formato, selezioniamo il formato desiderato tra HTML, Testo normale, Testo con formattazione (quest'ultimo è il formato RTF da evitare)
Formato testo
FIG 6 - Formato testo


Lato server Exchange
É possibile impedire l'invio di messaggi in formato RTF all'esterno dell'infrastruttura agendo sulle impostazioni di Exchange

Da Exchange 2010:
  • Aprire la Microsoft Exchange Console e cliccare su  Organization Configuration quindi Hub Transport;
  • Selezionare la scheda Remote Domain ;
  • Accedere alle proprietà del Remote Domain
  • Selezionare la scheda Message Format quindi in Exchange rich-text format selezionare Never Use 
  • Nella sezione Character Sets selezionare none alle voci MIME character Set e  Non-MIME character Set

Tramite EMS (Exchange Management Shell) possiamo utilizzare il seguente comando per disabilitare il Transport Neutral Encapsulation Format (TNEF, un formato proprietario di Microsoft per gli allegati dei messaggi di posta) 
Set-RemoteDomain  –identity 'RemoteDomainName' –TNEFEnabled $false
per verificare se l'operazione è andata a buon fine possiamo eseguire
Get-RemoteDomain Default |fl