Skip to main content
Use MailKit to send email from .NET applications through mySMTP. MailKit is the recommended library because Microsoft does not recommend System.Net.Mail.SmtpClient for new development.

Prerequisites

  • .NET 6 or later
  • Your mySMTP username and password from the setup email
  • Your mySMTP hostname from the setup email (shown as relayxx.mysmtp.com in these examples)

Install MailKit

Basic send example

Replace relayxx.mysmtp.com with your real hostname from the mySMTP setup email. Load credentials from environment variables, never hardcode them in source files.

HTML email with attachment

Microsoft recommends against using System.Net.Mail.SmtpClient for new development because it is considered obsolete and does not support modern protocols. Use MailKit instead.

Common errors

Your username or password is incorrect, or your account is not yet activated. Re-enter credentials exactly as shown in the setup email. See Setting up SMTP credentials.
Your network or host may block port 587. Try port 2525 with SecureSocketOptions.StartTls, or port 465 with SecureSocketOptions.SslOnConnect. See Supported SMTP ports and encryption.
The SecureSocketOptions value does not match the port. Use StartTls for ports 587 and 2525. Use SslOnConnect for port 465.
Test your SPF, DKIM, and DMARC setup with the mySMTP Deliverability Toolbox before sending large volumes.