- Added: Configuration option to define the maximum allowed message size.
- Added: Support for custom SMTP greeting messages.
- Improved: Optimized protection against excessively long text segments to enhance stability and performance.
var options = new SmtpServerOptionsBuilder()
.ServerName("My mail server")
.MaxMessageSize(5242880, MaxMessageSizeHandling.Strict) //5MB
.CommandWaitTimeout(TimeSpan.FromSeconds(60))- Added: SslProtocol support to SecurableDuplexPipe.
- Added: GitHub workflow for automated build and unit tests.
- Added: Summary information to classes for improved code documentation.
- Added: Session timeout to automatically close connections that remain open for too long.
- Fixed: Missing SessionCreated event in failure scenarios.
- Fixed a bug that could cause a failure to recognize commands when using a large number of recipients.
- Removed MailboxFilterResult in favor of bool result. Impementations can throw SmtpResponseException for more control.
- Handled servers that send the QUIT command and immediately close the connection.
- Added an ICertificateFactory on the Endpoint that allows a new certificate to be created when required without having to restart the server.
- Added a ResponseException event handler to the ISessionContext to enable external logging of exceptions.
- Fixed a bug with the session not closing when the cancellation token was cancelled.
- Fixed a performance issue whereby the server would block incoming connections whilst another connection was upgrading to SSL.
- Breaking API change by removing the Certificate from the server options and adding it to the endpoint.
- Version 8 contains substantial refactoring to take advantage of System.IO.Pipelines in an effort to improve throughput performance and reduce memory allocations.
- In addition to this there are also changes to make service resolution easier via Dependency Injection through utilizing the IServiceProvider interface.