Skip to content
A local SMTP server with email display, used mostly for development of other apps. Think unlimited Mailtrap that runs on your own computer.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
bin
config
public
src
templates
tests
translations
.env.example
.env.test
.gitignore
.php_cs.cache
.php_cs.dist
.travis.yml
LICENSE.md
README.md
composer.json
composer.lock
console.png
favicon.png
package.json
phpstan.neon
phpunit.xml.dist
symfony.lock
webpack.config.js
yarn.lock

README.md

License: MIT Build status

Mailocal

Safely test sending your emails by using this local SMTP server and viewing the results on the web interface.

By using this locally installed SMTP server you can be sure that your real customers will never see your test emails !

However you can see all of them by simply opening the provided interface in any browser.

Screenshots

All messages single message

Requirements

If you don't have Composer yet, download it following the instructions on http://getcomposer.org/ or just run the following command:

curl -s http://getcomposer.org/installer | php

Install

  • composer create-project jfoucher/mailocal
  • That's it

Running

  • cd mailocal to enter the directory just created by composer
  • Run bin/mailocal to run both the SMTP server and the web server

Alternatively you can:

  • Run yarn run build to build the frontend assets
  • php bin/console email:server to launch the SMTP server
  • php bin/console server:start to start Symfony's built-in webserver

Configuration

  • Configure your other apps to use this new local SMTP server :
    • host : 127.0.0.1
    • port: 2525 (or the one you chose, see below)
    • You can configure an SMTP username and password by setting the SMTP_SERVER_USER and SMTP_SERVER_PASSWORD fields in you .env file. Make sure you update your email client's credentials accordingly.
  • Mailocal uses an SQLite database by default (in var/data.db) but you can choose to use any other database by setting the correct URL in the .env file

Done

You can now view any emails you receive by opening http://localhost:8000 in your browser

The SMTP runs on port 2525 by default. Pass the --port option to use another one, like this: php bin/console email:server --port=587

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Warning

Never use this in production, only run it on your local machine.

You can’t perform that action at this time.