The following hooks are supported:
Allows to hook in your code for authenticate users for sending mail via SMTP AUTH. You could for example query your own database table to see if a user should be allowed to send mail with the given username and password.
Allows to hook in your code on a new connection. So you could just drop it or do something else.
Allows to hook in your code in the HELO and EHLO commands.
Allows to hook in your code in the MAIL command. Like checking the sender which was given with MAIL FROM: <whatever@example>
Allows to hook in given parameters in the EHLO command.
Allow to hook in your code after the email was received via the DATA command and was marked for queuing by the CLRF.CRLF sequence. This will get executed right before the message will actual get queued.
IMPORTANT: If you want to do heavy processing here and not want to reject the method based on a criteria you are most times better of to use the Mailet API!
Allow to hook in your code in the QUIT command.
Allows to hook in your code in the RCPT command. Like implementing a custom logic to check if the mail for a given recipient should get accepted or rejected.
Allows to hook in your code on every unknown command.
Allows to set priority on mails for the spool queues, depending on the destination domain.
Allows to register a HookStatsMBean under JMX for every processed Hook. You will get statistics about the configured hooks via JMX