Skip to main content

Laravel mail to a local inbox, three .env lines

To send a Laravel test email without reaching a real inbox, set three lines in .env: MAIL_MAILER=smtp, MAIL_HOST=127.0.0.1, MAIL_PORT=1025. Every email your app sends then lands in Buggregator, with the HTML preview, attachments and raw source. Nothing is delivered.

Steps

1. Start Buggregator

Run the container. Port 8000 is the web UI, port 1025 is the SMTP server.

bash
docker run --pull always \
  -p 127.0.0.1:8000:8000 \
  -p 127.0.0.1:1025:1025 \
  -p 127.0.0.1:9912:9912 \
  -p 127.0.0.1:9913:9913 \
  ghcr.io/buggregator/server:latest

2. Change three lines in .env

Point Laravel's SMTP mailer at Buggregator. No username or password is needed.

dotenv
# .env
MAIL_MAILER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=1025

3. Use the service name in Docker Compose

If your Laravel app and Buggregator run in the same Compose stack, use the service name as the host.

dotenv
# SMTP — email capture
MAIL_HOST=buggregator
MAIL_PORT=1025

4. Send an email and open it

Trigger any email: a registration confirmation, a password reset, a notification. Open http://127.0.0.1:8000. You see the rendered HTML with a Desktop / Tablet / Mobile width switcher, the plain text version, the addresses, the attachments and the raw MIME source.

Why it works

Buggregator includes a fake SMTP server on port 1025. Laravel's SMTP mailer delivers to it like to any mail server, and Buggregator stores the email and shows it in the UI instead of sending it on. Your mail code does not change, only the address in .env.

Checked on with Buggregator v2.8.0

Setup in 60 seconds

No registration. No account. Start it and point your app at it.

1

Start Buggregator

One file, installed with one command. The web UI opens on port 8000. Prefer containers? Use the Docker tab.

$ curl -fsSL https://raw.githubusercontent.com/buggregator/server/master/scripts/install.sh | sh
$ HTTP_ADDR=127.0.0.1:8000 \
  SMTP_ADDR=127.0.0.1:1025 \
  VAR_DUMPER_ADDR=127.0.0.1:9912 \
  MONOLOG_ADDR=127.0.0.1:9913 \
  PROXY_ADDR=127.0.0.1:8080 \
  ~/.local/bin/buggregator

The script picks the file for your CPU: Intel/AMD or ARM.

One file for Linux, macOS and Windows, about 40 MB. Nothing else to install.

This run line keeps it on this computer. Without the *_ADDR settings it listens on all network interfaces →

Rather not run a script? Download the file yourself →

Runs on Windows, macOS and Linux, on Intel/AMD and ARM.

Prefer not to do it yourself? Your AI agent can set Buggregator up for you →