Overview

A local SMTP server for testing your email implementations.

Truly lightweight, without Node.js or Electron bloat.


Usage

Easy to use, light on resources and without message limits nor quotas.

Just run MailCatch.exe and the server will begin listening on the selected port.

By default the port 25 is used, but you may change it should you need to from the Settings dialog.

There you can change the authentication credentials too, they are set to smtp for both the user and the password.

Then just point your client to 127.0.0.1 at the selected port, set the credentials with PLAIN authentication and start sending test emails.

Is really that easy!

Client examples

Use your favorite language and/or framework.

You can send messages from PHP, JS, C#, Python or any other language that supports SMTP.


PHP using PHPMailer

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;

$mail = new PHPMailer();

$mail->isSMTP();
$mail->Host = '127.0.0.1';
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = 'smtp';
$mail->Password = 'smtp';

$mail->setFrom('[email protected]', 'WebApp');
$mail->addAddress('[email protected]', 'John Doe');

$mail->isHTML(true);
$mail->Subject = 'Welcome to WebApp';
$mail->Body = '<h1>Welcome to WebApp</h1>';

$mail->send();

Python using smtplib

import smtplib

from email.utils import formatdate
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def send_email():
    body = "<h1>Welcome to WebApp</h1>"

    msg = MIMEMultipart()
    msg['From'] = "[email protected]"
    msg['To'] = "[email protected]"
    msg['Subject'] = "Welcome to WebApp"
    msg['Date'] = formatdate(localtime=True)
    msg.attach(MIMEText(body, 'html'))

    server = smtplib.SMTP("127.0.0.1", 25)
    server.login("smtp", "smtp")
    server.sendmail(msg['From'], msg['To'], msg.as_string())
    server.quit()

send_email()

JS (Node) using nodemailer

"use strict";
const nodemailer = require("nodemailer");

const transporter = nodemailer.createTransport({
  host: "127.0.0.1",
  port: 25,
  auth: {
    user: "smtp",
    pass: "smtp"
  },
  debug: true
});

async function main() {
  const info = await transporter.sendMail({
    from: '"WebApp" <[email protected]>',
    to: "[email protected]",
    subject: "Welcome to WebApp",
    text: "Welcome to WebApp",
    html: "<h1>Welcome to WebApp</h1>"
  });
}

main().catch(console.error);

C# using System.Net.Mail

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

namespace Mailer {

    class Mailer {

        static void Main(string[] args)
        {
            var smtpClient = new SmtpClient("127.0.0.1")
            {
                Port = 25,
                Credentials = new NetworkCredential("smtp", "smtp")
            };

            var mailMessage = new MailMessage
            {
                From = new MailAddress("[email protected]"),
                Subject = "Welcome to WebApp",
                Body = "<h1>Welcome to WebApp</h1>",
                IsBodyHtml = true,
            };
            mailMessage.To.Add("[email protected]");

            smtpClient.Send(mailMessage);
        }
    }
}

Features

Lean and mean, but featured packed.

Here's why you'll love MailCatch:


Forget about fussing with tunnels and monthly fees

You will no longer need to configure tunnels/ports/proxies, the server is on your local computer.

That also means no more montlhy fees from mail testing providers!

View the contents of your messages

A true HTML viewer, with all its glorious quirks.

We use WebView, so you get the same rendering as old email clients (and that's great for testing).

Have a peek at the source

With full syntax highlighing!

Inspect the source code of your messages and export them to HTML files, easily and with just a few clicks.

Attachments are fully supported

Receive multipart messages with attachments.

Use the attachment viewer to view the attached files and save them to disk.

Authentication and selectable port

Specify the authentication credentials so that your client can do its thing.

Also you can change the listening port to fit your needs.

Get MailCatch now

Did we mention that it's free?

That's right, you get MailCatch for free, zero, nada.

Just click the button below and you'll get your very own copy of MailCatch.

Download now

MailCatch 1.0 for Windows 8/10/11
It's a ZIP file, just extract the files and run
You may need to install the .NET framework 4.8


Do you like this utility?

Then you may want to support the developer by buying him a coffee!

Buy Me a Coffee at ko-fi.com


Warning: This software is provided as-is, without any warranty either expressed or implied. In no event unless required by applicable law the author will be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program.