Go to file
Joe Bellus 77847b077a
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
Fixed issue with horizontal scrollbars in the UI
2022-09-28 17:49:22 -04:00
examples Initial commit 2022-09-28 00:09:57 -04:00
src Unit Tests 2022-09-28 17:47:01 -04:00
ui Fixed issue with horizontal scrollbars in the UI 2022-09-28 17:49:22 -04:00
.drone.yml CI/CD (#1) 2022-09-28 18:02:56 +00:00
.gitignore Initial commit 2022-09-28 00:09:57 -04:00
Cargo.lock Unit Tests 2022-09-28 17:47:01 -04:00
Cargo.toml Unit Tests 2022-09-28 17:47:01 -04:00
Dockerfile CI/CD (#1) 2022-09-28 18:02:56 +00:00
README.org CI/CD (#1) 2022-09-28 18:02:56 +00:00
rustfmt.toml Initial commit 2022-09-28 00:09:57 -04:00

README.org

Mailspy

Mailspy is a mock SMTP server for used during development of applications that send email. Mailspy will serve a compliant, mock SMTP server that an application can connect to, while in development mode. It will accept emails and display them in a web interface that it serves.

Installation

Mailspy is available in binary distribution for 64-bit linux systems.

curl https://objects.5sigma.io/public/mailspy.tar.gz | tar -xz

Binary usage

Execute the mailspy binary:

./mailspy

Then set your application to use the following smtp settings:

- SMTP Server: localhost - Port: 7778 - Username: Any value - Password: Any value - TLS: None/Unsecured - Authorization Type: Basic Auth

View emails in the web interface served at:

http://localhost:7777

Command line switches

  • The SMTP port can be can be configured with -s <port>
  • The HTTP port for the web interface can be configured with -h <port>

Docker

Mailspy is avialable as a Docker image. To run it as a temporary container use:

docker run --rm  -p 7777:7777 -p 7778:7778 git.5sigma.io/mailspy/mailspy:latest

Development

The core application Rust application is located in /src folder. This contains both the SMTP and HTTP servers. The web interface is located in /ui and is a Svelte application.

The application will automatically bundle the svelte application within the binary during build.

Setting up development:

git clone https://git.5sigma.io/mailspy/mailspy.git
cd mailspy
cd ui
npm install

Building

cd ui
npm run build
cd ..
cargo build --release