Topic Path: Symbol Reference > Classes > TIdPOP3Server Class > TIdPOP3Server Events > OnUIDL Event
TIdPOP3Server.OnUIDL Event

Event handler for the POP3 UIDL command.

property OnUIDL: TIdPOP3ServerMessageNumberEvent;

OnUIDL is a TIdPOP3ServerMessageNumberEvent property that represents the event handler signalled when a threaded client connection performs the POP3 UIDL command verb. 

OnUIDL allows the server to implement the optional POP3 command, and performs processing required to generate the unique identifier listing for one or more messages in the mail store for the client connection. 

OnUIDL is responsible for generating the initial Positive POP3 response, followed by one or more lines containing information for the specified message(s). If no message number is specified, the response will contain multiple unique identifier lines. 

To simplify POP3 client parsing, all POP3 servers are required to use a cokmon format for unique-id listings. A unique-id listing consists of the message-number of the message, followed by a single space and the unique-id of the message. No information follows the unique-id in the unique-id listing. 

The unique-id of a message is an arbitrary server-determined string, consisting of one to 70 characters in the range 0x21 to 0x7E, which uniquely identifies a message within a maildrop and which persists across sessions. This persistence is required even if a session ends without entering the UPDATE state. The server should never reuse an unique-id in a given maildrop, for as long as the entity using the unique-id exists. 

Messages marked for deletion are not included in a UIDL listing. 

It is recommended to implement support for the UIDL command. It is generally preferable for server implementations to store arbitrarily assigned unique-ids in the maildrop, but it is permitted for unique-ids to be calculated as a hash of the message. Clients should be able to handle a situation where two identical copies of a message in a maildrop have the same unique-id. 

OnUIDL is triggered by the command event handler that implements the TIdCommand support for the POP3 UIDL command for the client connection. OnUIDL is not triggered for a client connection where TIdPOP3ServerThread.State contains a value other than Trans, or the event handler has not been assigned. 

OnUIDL is responsible for writing the positive POP3 response to the client connection; Negative POP3 responses are written by the UIDL command handler when TIdPOP3ServerThread.State contains a value other than Trans or the OnTOP event handler has not been assigned.

Copyright 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
Post feedback to the Indy Docs Newsgroup.