Go to file
Joe Bellus f4403b6878
continuous-integration/drone/push Build is passing Details
Set host adapter to 0.0.0.0 for http and smtp
2022-09-28 13:25:13 -04:00
examples Initial commit 2022-09-28 00:09:57 -04:00
src Set host adapter to 0.0.0.0 for http and smtp 2022-09-28 13:25:13 -04:00
ui Initial commit 2022-09-28 00:09:57 -04:00
.drone.yml Set host adapter to 0.0.0.0 for http and smtp 2022-09-28 13:25:13 -04:00
.gitignore Initial commit 2022-09-28 00:09:57 -04:00
Cargo.lock Moved lettr to dev dependencies 2022-09-28 13:10:12 -04:00
Cargo.toml Moved lettr to dev dependencies 2022-09-28 13:10:12 -04:00
Dockerfile Added docker stage 2022-09-28 10:25:53 -04:00
README.org Added ui copy, updated readme 2022-09-28 10:10:46 -04: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

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>

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