FOR USE IN DEVELOPMENT ENVIRONMENTS ONLY
A simple and very fake SMTP server for development/testing purposes. Because, why not.
Features
- SMTP server that can accept & store valid RFC822/RFC2822 email
- HTTP server/site as a client interface to the messages received
WARNING: Do not expose running server ports to open networks and do not run as
root or an admin user! There are ZERO security features built into these
servers.
Globally:
$ composer global require camelot/smtp-dev-serverAs a development dependency for your project:
$ composer require --dev camelot/smtp-dev-serverConfiguration is handled via environment variables.
SMTP_LOG_LEVEL=debug
SMTP_LOG_FILE="/path/to/smtp.log"
SMTP_SPOOL_DIR="/path/to/spool"
HTTP_LOG_LEVEL=debug
HTTP_LOG_FILE="/path/to/http.log"See the .env file in this directory for an example if you're cloning this
repository, you can create a .env.local file to override any of the values in
the .env file.
Both servers have two output targets, console and PSR logger.
Console output levels are managed by passing -v, -vv, or -vvv as options
on the command line.
Logger output is managed via environment variables that are used internally to configure the loggers.
For example:
$ SMTP_LOG_LEVEL=debug vendor/bin/smtp-dev-server -vvv
To start the server, simply run:
$ vendor/bin/smtp-dev-serverThis will output internal information to STDOUT. You can specify verbosity with the command options below.
Server can be stopped by sending a signal, e.g. CTRL+C.
backing Storage type (null, memory, mailbox) [default: "mailbox"]
-i, --ip=IP TCP/IP address [default: "127.0.0.1"]
-p, --port=PORT Port to listen on [default: 2525]
-r, --retries=RETRIES Number of times to retry connecting to the server socket address if it is currently in use [default: 10]
-h, --help Show help
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
To start the server, simply run:
$ vendor/bin/smtp-dev-clientThis will output internal information to STDOUT. You can specify verbosity with the command options below.
Server can be stopped by sending a signal, e.g. CTRL+C.
backing Storage type (null, memory) [default: "null"]
-i, --ip=IP TCP/IP address [default: "127.0.0.1"]
-p, --port=PORT Port to listen on [default: 2580]
-r, --retries=RETRIES Number of times to retry connecting to the server socket address if it is currently in use [default: 10]
-h, --help Show help
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Open (default) http://127.0.0.1:2580 to view & manage messages received by the SMTP server component.


