Next Release

Very soon

New modules

  • The bonzo.smtp module provides a better way to handles messages, this module is created to support asynchronous code in the request callback.
  • The bonzo.errors module provides custom exceptions for writing error codes to the client.

bonzo.server

  • SMTPConnection is raising the new exceptions from the bonzo.errors module on its command_ methods.
  • Added SMTPRequest for manage the request arguments, an instance of this class is passed as argument to the request callback.
  • Request callback receives an instance of SMTPRequest now. The message can be found on the message attribute of the request.
  • Request callbacks should call to the finish() method in order to finish the request by sending a successfully message to the client.
  • Exceptions in request callbacks no longer silently pass, instead the server returns an internal confusion error (451) to the client and the exceptions are now logged for debugging.
  • MAIL command returns a 503 error when a HELO command was not previously received.

bonzo.testing

  • Added connect, read_response, send_mail, and close methods to the AsyncSMTPTestCase class. These methods are oriented for ease to create tests to the SMTP server.