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)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *