mailspy/README.org

71 lines
1.7 KiB
Org Mode

* 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.
#+begin_src sh
curl https://objects.5sigma.io/public/mailspy.tar.gz | tar -xz
#+end_src
* Binary usage
Execute the mailspy binary:
#+begin_src sh
./mailspy
#+end_src
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:
#+begin_src sh
docker run --rm -p 7777:7777 -p 7778:7778 git.5sigma.io/mailspy/mailspy:latest
#+end_src
* 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:
#+begin_src sh
git clone https://git.5sigma.io/mailspy/mailspy.git
cd mailspy
cd ui
npm install
#+end_src
** Building
#+begin_src sh
cd ui
npm run build
cd ..
cargo build --release
#+end_src