Indy 9
|
TIdPOP3ServerAPOPCommandEvent = procedure (ASender: TIdCommand; AMailboxID :String; ADigest :String) of object;
Note: The server implementation must assign a procedure to the event handler to allow responding to the POP3 APOP command.
ASender is the TIdPOP3ServerThread generating the event notification as a result of the POP3 APOP command.
AMailboxID is the POP3 account name (or mailbox) to be accessed by the client connection.
ADigest is the 16-octet hexadecimal MD5 Message Digest calculated by applying the MD5 algorithm specified in RFC 1321 to a string consisting of the timestamp (including angle-brackets) followed by the shared APOP secret for the client connection.
The procedure assigned to the event handler is responsible for verifying that the account identified by ADigest is allowed access to the mailbox specified in AMailboxID. Use ASender to write the positive POP3 response, and set the TIdPOP3ServerState for the TIdPOP3ServerThread to Trans.
Note: The event handler will not be triggered from the APOP command handler if the TIdPOP3ServerState in ASender does not contain Auth.
A POP3 server which implements the APOP command will include a timestamp in its banner greeting. The syntax of the timestamp corresponds to the `msg-id' in RFC 822, and must be different each POP3 server banner greeting issued. For example, on a UNIX implementation in which a separate UNIX process is used for each instance of a POP3 server, the syntax of the timestamp might be:
<process-ID.clock@hostname>
where `process-ID' is the decimal value of the process's PID, clock is the decimal value of the system clock, and hostname is the fully-qualified domain-name corresponding to the host where the POP3 server is running.