You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BCC recipient support on all multi-recipient overloads
IAntiSpamPool / AntiSpamPool extracted from MailSender with O(m) queue-based expiry and configurable max-items eviction (default 10 000) to prevent OOM
MailSender.DefaultAntiSpamPool static property to swap the pool implementation without constructor injection
Port validation in MailSenderSettings (throws ArgumentOutOfRangeException on out-of-range values)
Fixed
Double-checked locking in SmtpClient getter replaced with Lazy<SmtpClient>(ExecutionAndPublication) for correct thread-safety on all architectures
Dispose no longer disposes SemaphoreSlim while another thread may hold it; blocks until in-flight send completes, then disposes cleanly