Mail rifiutate per errori al protocollo (Invalid Headers)

Quando usiamo il connettore POP3 di SBS 2008/2011 può capitare che il servizio non riesca a scaricare le mail e ci ritroviamo una sfilza di errori nel log Microsoft-Windows-Small Business Server/Operational del tipo 217:

image

e andando a vedere nel log pop3connector.log che si trova in C:\Program Files\Windows Small Business Server\Logs\pop3connector il problema risulta evidente:

[t 0] 05/31/11, 13:24:59: (SMTP) [TX] RSET
[t 0] 05/31/11, 13:25:04: (SMTP) [RX] 250 2.0.0 Resetting
[t 0] 05/31/11, 13:25:04: Sending message 4 to the SMTP recipient xxxxxxxxxx…
[t 0] 05/31/11, 13:25:04: (SMTP) [TX] MAIL FROM: <MAILER-DAEMON> RET=FULL
[t 0] 05/31/11, 13:25:09: (SMTP) [RX] 501 5.1.7 Invalid address
[t 0] 05/31/11, 13:25:09: Failure hrResult (0x800ccc63) trying to deliver message id 4:
[t 0] 05/31/11, 13:25:09: SMTPRESPONSE:    * * *   !Failed!   * * *
[t 0] 05/31/11, 13:25:09:                  * * *              * * *
[t 0] 05/31/11, 13:25:09:                  * * *  0x800ccc63  * * *
[t 0] 05/31/11, 13:25:09:       Command: [SMTP_MAIL]
[t 0] 05/31/11, 13:25:09:     Completed: Yes.
[t 0] 05/31/11, 13:25:09:     IxpResult:
[t 0] 05/31/11, 13:25:09:   —> —> —>  hrResult: 0x800ccc63
[t 0] 05/31/11, 13:25:09:                pszResponse: 501 5.1.7 Invalid address
[t 0] 05/31/11, 13:25:09:              uiServerError: 501
[t 0] 05/31/11, 13:25:09:              dwSocketError: 0
[t 0] 05/31/11, 13:25:09:                pwszProblem: <none>
[t 0] 05/31/11, 13:25:09: Error: The "MAIL FROM" address ("MAILER-DAEMON", from header field "Return-Path") was rejected. Continuing.
[t 0] 05/31/11, 13:25:09: (SMTP) [TX] QUIT

Quando il connettore scarica un messaggio da un account POP3 non convalida gli header della mail e li passa direttamente al connettore SMTP di Exchange. Se gli header contengono dei valori errati, come il “return path” dell’esempio, Exchange rifiuta la mail con un errore 501. Questo errore conta come un errore di protollo e contribuisce al raggiungimento della soglia massima MaxProtocolErrors. Visto che il connettore non è stato in grado di recapitare la mail la lascia sul server POP3.

Di default la variabile MaxProtocolErrors è impostata al valore 5, se quindi all’interno di una mailbox POP3 ci sono 5 mail contenente un errore di protocollo il download si interrompe e il ciclo prosegue con la mail successiva. Lasciando così sul server anche le mail che sono valide.

In molte occasioni è possibile risolvere il problema semplicemente configurando il parametro “DefaultDomain” con il proprio dominio locale sul “Sharepoint Fax Receiver Connector”. Questo fa si che il dominio SMTP venga aggiunto alle mail che hanno un campo return path non corretto.

Per eseguire questa operazione usiamo il comando:

Set-ReceiveConnector -Identity ($Env:computername + "\Windows SBS Fax Sharepoint Receive " + $Env:computername) -DefaultDomain $Env:UserDNSDomain

Se nonostante questo workaround non abbiamo risolto il problema possiamo provare ad alzare il numero degli errori all’interno di una sessione SMTP che possono essere accettati. Da una Shell con i diritti elevati di Exchange Management Shell lanciamo il comando:

Set-ReceiveConnector -Identity ($Env:computername + "\Windows SBS Fax Sharepoint Receive " + $Env:computername) -MaxProtocolErrors 500

Stop-Service pop3connector
Restart-Service -force MSExchangeTransport
Start-Service pop3connector

Questo incrementa il valore MaxProtocolErrors a 500.

Per un approfondimento vi rimando all’articolo: SBS 2008: Introducing the POP3 Connector (http://blogs.technet.com/b/sbs/archive/2009/07/01/sbs-2008-introducing-the-pop3-connector.aspx)

Microsoft Safety Scanner

A volte può essere utile avere un antivirus portabile per qualche scansione al volo magari da qualche cliente. Oltre alle varie distro Linux Live è possibile usare il tool gratuito Microsoft Safety Scanner (http://www.microsoft.com/security/scanner/it-it/default.aspx).

Il tool è stato rilasciato il 15 Aprile 2011 ed è in un certo senso il successore di Windows Live OneCare Safety Scanner (http://en.wikipedia.org/wiki/Windows_Live_OneCare_Safety_Scanner).

Microsoft Safety Scanner è uno strumento di protezione che offre funzionalità di analisi su richiesta e consente di rimuovere virus, spyware e altro malware e non sostituisce il sistema antivirus real-time installato nella macchina.

Il programma è disponibile sia nella versione a 32bit che a 64bit. Visto che la definizione dei virus è inserita all’interno dell’eseguibile stesso il programma non è aggiornabile e funziona solo per 10 giorni dalla data di download, dopodichè bisogna scaricare una nuova versione aggiornata.

Una volta scaricato ed eseguito ci viene richiesto di accettare della licenza:

image

e successivamente possiamo scegliere tra 3 tipi di scansione:

  1. Quick scan – Scans areas of the system most likely to contain viruses, spyware, and other potentially unwanted software. If such software is found, you may be prompted to run a full scan.
  2. Full scan – Scans the entire system. Note that this scan can take up to several hours on some computers.
  3. Cutomized scan – In addition to a quick scan, the tool will also scan the contents of a user-specified folder.

image

Terminata la fase di scansione vera e propria il programma visualizza un dettaglio dell’operazione appena eseguita:
 
image