04 nov 2009

SBS 2008 e Connettore POP3: Email Rejected Due to Protocol Errors (Invalid Headers)

Email Rejected Due to Protocol Errors (Invalid Headers)  o

Uno o più  messaggi di posta elettronica nell'account di cassetta postale POP3 "indirizzomail" sul server POP3 'nomeserver' presentano campi di intestazione non validi. Per questo motivo, i messaggi non possono essere recapitati alla cassetta postale di Exchange Server 'indirizzomail' in Windows Small Business Server. I messaggi sono ancora presenti sul server POP3. Per risolvere il problema, connettersi all'account di cassetta postale POP3 e recuperare o eliminare manualmente i messaggi.


Questo problema è generato da Exchange 2007 che per impostazione predefinita chiude una connessione SMTP dopo un certo numero di errori di protocollo (5 di default).
http://technet.microsoft.com/en-us/library/aa998618.aspx)

Quando SBS 2008 (tramite il connettore) scarica  un messaggio da una casella e-mail POP3 dovrebbe determinare quale sia il percorso di "ritorno" (Return Path)  della stessa, leggendone l'intestazione (header). Il pop3connector non effettua la validazione del valore dell'header e  lascia che se ne occupi Exchange.  Se il valore di intestazione che il pop3connector sceglie per il messaggio non è corretto (malformed), quando viene inviato al server di Exchange (come parte del comando "MAIL FROM "), Exchange lo respinge restituendo un errore 501, che conta come un "errore di protocollo. Poiché il pop3connector non è stato in grado di consegnare la posta, e non cancellerà la mail ma lascerà la posta sul server POP3.
Dopo un certo numero di errori exchange chiuderà automaticamente la connessione smtp, ad esempio se ci sono 5 messaggi con header malformato nella casella di posta POP3, ci saranno 5 "errori di protocollo" nella sessione pop3connector SMTP la quale provocherà il raggiungimento del limite di default (5) e di conseguenza Exchange concluderà la sessione con un errore temporaneo (4xx). Quando questo accade, il pop3connector riconosce che l'errore è transitorio e ripete il download del messaggio alla prossima pianificazione prevista, ma dal momento che tali messaggi malformati sono ancora nella mailbox POP3 la stessa cosa continuerà a verificarsi innescando una specie di loop.
Un workaround  possibile è aumentare il valore della "proprietà" MaxProtocolErrors del connettore di ricezione Windows SBS Fax Sharepoint e successivamente riavviare il servizio di trasporto di Exchange e il pop3connector.
Ecco i comandi da impartire da EMS (Exchange Management Shell):

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

Stop-Service pop3connector

Restart-Service -force MSExchangeTransportStart-Service pop3connector

Questo permetterà al servizio di non arrestarsi, ma i messaggi malformati dovranno essere comunque cancellati.
Attualmente Microsoft sta indagando per fornire una soluzione definitiva al problema.

2 commenti:

  1. Ciao
    io non riesco ancora risolvere il problema. Sai se hanno aggiornato il problema su microsoft? è assurdo perchè per aprire una pratica devo pagare su microsoft anche se è un problema loro..
    Con la tua soluzione mi da un errore.. o meglio che cosa si intende per "identity"? le ho provate tutte. ah già io ho sbs in italiano.
    La mia email è tezza@jdsystem.it
    Grazie

    RispondiElimina
  2. Quanto sopra risolve il problema.
    BTW è possibile installare i servicepack di Exchange Server su SBS 2008 (trovi info in questo blog).
    Inoltre se dovessi riscontrare ancora problemi ti suggerisco di scrivere sui forum dedicati ai professionisti IT.
    http://social.technet.microsoft.com/Forums/it-IT/categories

    RispondiElimina