Engineering Core
ISB Vietnam's skilled software engineers deliver high-quality applications, leveraging their extensive experience in developing financial tools, business management systems, medical technology, and mobile/web platforms.

Sending email is one of popular features in a business application. Email's content and format have to test carefully before send out to customer. In the past, I often tested sending email by using Gmail's smtp, but this way would require sending some information out. In this guide, we'll explore SMTP4dev, an open-source application that simplifies email testing for developers.

Smtp4dev Instruction

smtp4dev is an open-source application that simulates an SMTP email server to test and debug emails, it lets you test your SMTP mail server. smtp4dev can run on Windows, Linux, Mac OS-X (any where .NET Core is available). you can test send mail without any real SMTP mail server.

  • github: https://github.com/rnwood/smtp4dev
  • BSD-3-Clause license

Smtp4dev Installation

If you don't want to use the dotnet global tool or Docker (see below if you know what those mean), you can download a standalone (or .NET Core runtime dependent) release from github.

https://github.com/rnwood/smtp4dev/releases

I will use "Windows x64 binary standalone - Desktop app edition" in this guide.

after download "Rnwood.smtp4dev.desktop-win-x64-3.7.0-ci20250120117.zip", unzip it, and run Rnwood.Smtp4dev.Desktop.exe

Smtp4dev Configuration

A program that you want to send testing mail to smtp4dev, you need to configure the host/address and port number where smtp4dev is running.

click on Icon on Right-Top, and setting as below:

Testing send mail from my application

I write a simple code to send email by c#

using System.Net;
using System.Net.Mail;

public class Program
{
  public static void Main(string[] args)
  {
     // Replace with your actual email settings
     string senderEmail = "your_email@example.com";
     string senderPassword = "your_email_password";
     string recipientEmail = "recipient_email@example.com";
     string subject = "Test Email";
     string body = "This is a test email sent from C#.";
     string smtpHost = "localhost"; 
     int smtpPort = 25; 
     bool enableSsl = false; // or true

     try
     {
          using (var smtpClient = new SmtpClient(smtpHost, smtpPort))
          {
               smtpClient.EnableSsl = enableSsl;
               smtpClient.Credentials = new NetworkCredential(senderEmail, senderPassword);

               using (var mailMessage = new MailMessage(senderEmail, recipientEmail, subject, body))
               {
                    smtpClient.Send(mailMessage);
                    Console.WriteLine("Email sent successfully!");
               }
          }
     }
     catch (SmtpException ex)
     {
          Console.WriteLine($"SMTP Error: {ex.Message}");
     }
     catch (Exception ex)
     {
     Console.WriteLine($"Error sending email: {ex.Message}");
     }

     Console.ReadKey(); // Keep the console window open
  }
}

when I run above code, I can see the sending email in Smtp4dev

 

Smtp4dev features

  • OpenAPI/Swagger API
  • IMAP access to retrieve and delete messages
  • SMTP session logging
  • UTF8 support
  • Viewport size switcher to simulate mobile etc
  • Multipart MIME inspector
  • HTML compatibility report and HTML validation
  • TLS/SSL with implicit and STARTTLS modes and auto self-signed cert generation
  • Authentication
  • Multiple mailboxes along with rules to control what message goes where
  • Reply, compose and relay messages including rules to auto relay
  • Scripting expressions including error simulation

 

refer: https://github.com/rnwood/smtp4dev

Written by
Author Avatar
Engineering Core
ISB Vietnam's skilled software engineers deliver high-quality applications, leveraging their extensive experience in developing financial tools, business management systems, medical technology, and mobile/web platforms.

Popular Articles

Fintech Development Outsourcing: The Ultimate Guide for 2026
OUTSOURCING

Fintech Development Outsourcing: The Ultimate Guide for 2026

November 25, 2025 · By ISB Vietnam(IVC) Business Development Team

Healthcare IT Outsourcing: A Complete Guide for Medical Software Development
OUTSOURCING

Healthcare IT Outsourcing: A Complete Guide for Medical Software Development

December 29, 2025 · By ISB Vietnam(IVC) Business Development Team

DevOps Best Practices: What to Build and What to Outsource
OUTSOURCING

DevOps Best Practices: What to Build and What to Outsource

March 16, 2026 · By ISB Vietnam(IVC) Business Development Team

What Is Adaptive Software Development (ASD)? A Practical Guide for Modern Engineering Teams
OUTSOURCING

What Is Adaptive Software Development (ASD)? A Practical Guide for Modern Engineering Teams

June 4, 2026 · By ISB Vietnam(IVC) Business Development Team

White Paper

COMPANY PROFILE

Please check out our Company Profile.

Download

COMPANY PORTFOLIO

Explore my work!

Download

ASK ISB Vietnam ABOUT DEVELOPMENT

Let's talk about your project!

Contact US