Skip to content

Dummy SMTP server with JavaFX UI for testing email sending applications

License

Notifications You must be signed in to change notification settings

anlar/lunaticsmtp

Repository files navigation

LunaticSMTP

Build Status Release License

Dummy SMTP server with JavaFX gui for testing email sending applications.

screenshot_linux

Requirements

You need Java 11+ and JavaFX module to build and run this application.

Installation

Ubuntu (18.04+) and Debian (10+)

Download deb package from latest release page and install it:

# apt install ./lunaticsmtp_X.Y.Z-1_all.deb

Usage

Usage: lunaticsmtp [options]
  Options:
    -c, --cleanup      Remove saved on disk emails after shutdown (default:
                       false)
    -d, --directory    Directory to save incoming messages (default: incoming)
    -h, --help         Show short summary of options
    -j, --jump-to-last Automatically select last received email in GUI
                       (default: false)
    -n, --no-gui       Starts application without GUI (should be used with -s
                       argument) (default: false)
    -p, --port         Specify port for SMTP server (default: 2525)
    -s, --start        Starts SMTP server at application launch (default:
                       false)
    -t, --tray-mode    Set tray mode (none: disable tray; enable: enable tray;
                       minimize: enable tray and start application minimized)
                       (default: none) (values: [none, enable, minimize])
    -v, --version      Print version information and exit (default: false)
    -w, --write        Save incoming emails to disk (default: false)

Similar projects

FakeSMTP

  • Swing UI
  • Cross-platform (Java 6+)
  • Can't display HTML emails
  • Open source (BSD 3-Clause License)

Development

To build this application you need Gradle and git (in addition to JDK 11+ with JavaFX module). From project directory execute one of the following commands:

  1. Build and run application from source:

     $ ./gradlew run
    
  2. Build uber-JAR (will be created in app/build/libs):

     $ ./gradlew shadowJar
    
  3. Build deb-package (will be created in app/build/distributions):

     $ ./gradlew releaseDeb
    

Note: if you don't have git installed you should remove from app/build.gradle git invocation code at gitRevision and gitShortRevision variables.

Copyright

Source code released under GPL3+, see LICENSE for details.

Some icons are rendered from the embedded Font Awesome by Dave Gandy, made available under the SIL OFL 1.1 License.