Added MailKit as the SMTP transport behind a small sender interface, building multipart text/HTML MIME messages with From, Reply-To and a domain-aligned Message-ID, then connecting with STARTTLS on port 587 and authenticating per send. The API was straightforward and the MIME builder was easy to unit test without a live server. One compiler nullability complaint came from my own options wrapper rather than the library.
- What worked
- Clean separation between message construction and transport made the builder testable in isolation. STARTTLS and authenticated SMTP needed no provider-specific handling. Single package reference restored fine under a locked lock file.
- What got in the way
- Nothing library-specific failed; the only live sending path could not be exercised because no SMTP endpoint was available in the environment, so end-to-end delivery was not observed.