Qualche giorno fa mi è capitato di inviare un messaggio di posta senza compilare l'oggetto, appena mi sono accorto ho iniziato ad imprecare..
Anche se in questo caso l'e-mail è arrivata al destinatario senza problemi, è buona norma compilare l'oggetto di qualsiasi messaggio di posta.
Dopo aver fatto il "danno" ho pensato ad un modo per prevenirlo, ho pensato subito ad un'opzione di outlook, ma prima di iniziare a cercarla mi sono chiesto: "perchè non farlo lato server?"
Ed infatti è quello che ho fatto!
Ho creato una transport rule che controlla l'oggetto di tutte le e-mail inviate, ecco il codice per crearla:
$Condition = Get-TransportRulePredicate FromScope
$Condition.Scope = "InOrganization"
$Condition2 = Get-TransportRulePredicate SubjectMatches
$Condition2.Patterns = @("^$")
$Action = Get-TransportRuleAction RejectMessage
$Action.RejectReason = "L'oggetto del messaggio non puo' essere vuoto."
New-TransportRule -Name "CheckTheSubject" -Condition @($Condition,$Condition2) -Action @($Action)
Dopo aver creato questa regola se qualsiasi utente interno cerca di mandare una e-mail senza oggetto (anche se la manda a se stesso) gli ritornerà un NDR con questo codice:
#550 5.7.1 L'oggetto del messaggio non puo' essere vuoto. ##
Come dice il detto...meglio prevenire che curare.