Zerkana

jueves, 18 de febrero de 2010

Event Id 212 y 217 en SBS2008 Pop3 Connector

Hola, es tipico encontrar estos dos errores en el event viewer de un Sbs2008, os paso la captura donde encontrarlos:



Ambos están relacionados con la descarga de correo desde un proveedor externo mediante el conector pop3 que viene de casa. Aquí tenéis la solución propuesta en el Blog del equipo de producto de SBS:

Email Rejected Due to Protocol Errors (Invalid Headers)
Note: A long-term solution to this issue is being investigated

[New Content courtesy of Dan Thompson]

Exchange will close an SMTP connection after a certain number of protocol errors (5 by default). (see the MaxProtocolErrors property of the ReceiveConnector object at: http://technet.microsoft.com/en-us/library/aa998618.aspx)

When the SBS 2008 pop3connector downloads a message from a POP3 mailbox, it needs to figure out what the "return path" for the mail should be, which it does by reading the email's headers. The pop3connector does not do validation of the header value--it lets Exchange take care of that. If the header value that the pop3connector chooses is malformed, when it is sent to the Exchange server (as part of the "MAIL FROM" command), Exchange will reject it with a 501 error. That counts as a "protocol error", and therefore is counted against the MaxProtocolErrors limit. Since the pop3connector was not able to deliver the mail, and does not know if the mail is safe to delete, it leaves the mail on the POP3 server.

If there are 5 of these messages in your POP3 mailbox, then there will be 5 "protocol errors" in the pop3connector's SMTP session, which hits the limit, and Exchange will end the session with a transient error (4xx). When this happens, the pop3connector recognizes that the error is transient, and will retry again at the next scheduled download period. But since those 5 malformed messages are still in the POP3 mailbox, the same thing will continue to happen, with no "forward progress" being made.

The workaround is to increase the “MaxProtocolErrors” property of the Windows SBS Fax Sharepoint Receive connector, and then restart the Exchange Transport service for the change to take effect (and you’ll have to restart the pop3connector service, too, since it depends on the Exchange Transport service). Unfortunately, you can’t set that property from the Exchange management GUI, so you have to do it from an (elevated) Exchange Powershell prompt. Here are the instructions:

From an elevated Exchange Management Shell (Exchange Powershell window) (right click on “Start-->Microsoft Exchange Server 2007-->Exchange Management Shell” and then choose “Run as administrator”) run the following Powershell commands:

Set-ReceiveConnector -Identity ($Env:computername + "\Windows SBS Fax Sharepoint Receive " + $Env:computername) -MaxProtocolErrors 500
Stop-Service pop3connector
Restart-Service -force MSExchangeTransportStart-Service pop3connector


That will increase the MaxProtocol errors (of the internal receive connector only) to match the pop3connector’s max emails downloaded per session. Once you get 500 messages with malformed headers stacked up in the POP3 mailbox, though, you’ll still have to delete them manually.


Fco Luis Verdú, Consultor de Sistemas
Zerkana Consulting.

Problema con Easy Print en un DC Ws2008R2

Hola, hace unos días me encontre con un problema muy curioso. Tengo configurado un DC con el rol de Terminal Services y todo lo necesario para que Easy Print funcione sin problemas y evitarme andar instalando impresoras en el server, además las impresoras de los clientes se redirigen sin problemas y no dan ningún error al imprimir, el documento desaparece de la cola pero por la impresora local no aparece nada de nada. En el event viewer encontramos este error:

Log Name: System

Source: Microsoft-Windows-PrintSpooler

Date: 1/19/2008 4:00:00 AM

Event ID: 6161

Task Category: None

Level: Error

Keywords: Classic

User: DomainName\UserName

Computer: ServerName.DomainName

Description:

The document Test Page, owned by UserName, failed to print on printer PRINTERNAME on CLIENTName (redirected #). Try to print the document again, or restart the print spooler.

Data type: RAW. Size of the spool file in bytes: 135564. Number of bytes printed: 0. Total number of pages in the document: 1. Number of pages printed: 0. Client computer: \\ServerName. Win32 error code returned by the print processor: 5. Access is denied.

SOLUCIÓN:

Accedemos a la siguiente ruta: C:\Windows\system32\spool y sobre la carpeta PRINTERS abrimos la ficha seguridad y agregamos a "todos" con los permisos que vemos en la captura:



Con esto a funcionar!! Os dejo el Kb donde se explica el motivo de este procediento:

http://support.microsoft.com/kb/962930


Fco Luis Verdú, Consultor de Sistemas.
Zerkana Consulting.