Inviare un "Alert" ad Outlook

Una richiesta tipica relativa all'amministrazione di un server è quella di ricevere una mail quando una certa procedura è terminata, cosi da poter verificare

  • se la procedura è effettivamente stata eseguita
  • se è stata eseguita correttamente

Il problema che si pone, però è che la mail inviata potrebbe perdersi tra le altre numerose e-mail che - ahimè - intasano le caselle postale di ognuno. Un modo per notare queste e-mai è quello di farsi dei filtri, in outlook, che ci fanno apparire la ben nota finestrella posta in basso a destra dello schermo che ci avvisa dell'arrivo della stessa.

Dobbiamo però farli questi filtri. Smile E se non possiamo farli, magari perchè la mail non è diretta a noi ma ad un'altra persona, oppure semplicemente non vogliamo creare un ulteriore filtro? Beh, la soluzione sta nel far credere ad Outlook che il messaggio sia un "Alert" e non un messaggio qualsiasi. Un articolo molto dettagliato lo si trova qui:

http://msdn.microsoft.com/en-us/library/aa219030(office.11).aspx

Per chi non volesse leggerselo tutto, il succo è il seguente: nell'header del messaggio dovete impostare il valore del message-id a 3BD50098E401463AA228377848493927-XXX dove XXX è un numero a scelta.

Usando .NET (attraverso C#, VB o PowerShell come nell'esempio) ed utilizzando l'oggeto MailMessage, in pratica, il "trucco" si traduce cosi:

$SmtpClient = new-object System.Net.Mail.SmtpClient
$SmtpClient.Host = "mail.server.com"

$MailMessage = New-Object System.Net.Mail.MailMessage
$MailMessage.From = "auto@acme.com"
$MailMessage.To.Add("it@acme.com")
$MailMessage.Subject = "Oggetto del messaggio"
$MailMessage.Body = "Corpo del messaggio"
$MailMessage.Headers.Add("message-id", "<3BD50098E401463AA228377848493927-1>")

$SmtpClient.Send($MailMessage) 

Io l'ho provato su Outlook 2007 e funziona che è una meraviglia!

Non essendo un esperto di Outlook se qualcuno ha qualche nota aggiuntiva è ovviamente - e come sempre - il benvenuto!

Published lunedì 29 dicembre 2008 17.58 by dmauri

Comments

No Comments