Конечно да, можно использовать обычную почту, но для облачных IDE или изолированных контейнеров LXC или для DOCKER окружения удобней будет подменять SMTP и смотреть почту локально или в браузере.  Особенно удобно когда работаем дистанционно через облако.

mailcatcher написан на Ruby. Так как часть проектов у нас в экосистеме Rails это оказался самый удобный вариант. Каждый проект работает в изолированной среде. Это Docker/VPS/LXC. Для проектов есть шаблоны окружения. Поэтому все сервисы доступны разработчику сразу после инициализации.

установка в контейнере

# ubuntu 18.04 LTS
sudo apt install ruby ruby-dev sqlite3 libsqlite3-dev
gem install mailcatcher

использование

# daemon mode by default
mailcatcher --ip 0.0.0.0

# foreground
mailcatcher --ip 0.0.0.0 --foreground

переходим в браузере http://<ip контейнера>:1080    

docker/rails

version: "3"
services:
  app:
    ...
    env_file:
      - .env.development
  mailcatcher: 
  	image: diproart/mailcatcher
    ports:
      - 1080:1080	

config/environment/development.rb

config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
    address: ENV['RAILS_SMTP_ADDRESS'], # mailcatcher
    port: ENV['RAILS_SMTP_PORT'] # 1025
  }
  

.env.development

RAILS_SMTP_ADDRESS=mailcatcher
RAILS_SMTP_PORT=1025
RAILS_MAILER_URL=localhost:3000

переходим в браузере http://localhost:1080

mailcatcher as service in ubuntu

исполняемые файлы в ubuntu /usr/local/bin/{mailcatcher, catchmail}

#
# mailcatcher.service
# /etc/systemd/system/mailcatcher.service
#
[Unit]
Description=Mailcatcher
After=netwok.target
#After=systemd-user-sessions.service

[Service]
Type=simple
ExecStart=/usr/local/bin/mailcatcher --ip 0.0.0.0 --foreground
Restart=always
#User=ubuntu	
#Group=ubuntu
#UMask=0022

StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable mailcatcher
systemctl start mailcatcher

mailcatcher php

; php.ini
; sednmail_path = /usr/local/bin/catchmail --ip 127.0.0.1 -f from@dev.mail
sednmail_path = /usr/local/bin/catchmail -f from@dev.mail

если при этом необходимо выключить postfix, но не удалять

sudo update-rc.d postfix disable