A swift and reliable email testing companion for developers, inspired by the windmills of La Mancha.
- Quick Start
- Why PostMill?
- Installation
- Core Components
- Command Reference
- Configuration
- Integration
- Real-World Usage
# 1. Desktop App (recommended)
Download PostMill.app from https://postmill.dev/download
# 2. Homebrew
brew install postmill
# 3. Direct Install
curl -L https://get.postmill.dev | sh
# Begin your adventure
postmill tilt
# Your windmill now stands ready:
# โโ SMTP: localhost:1025
# โโ Web: http://localhost:8080
- Simple: One command (or click) to start
- Portable: Runs anywhere (CLI, desktop app or service)
- Reliable: Built in Go, minimal dependencies
- Practical: Real-time email testing
- Delightful: Making email testing enjoyable
PostMill transforms email testing from a mundane task into a well-ordered adventure. Like the steadfast windmills of La Mancha, it stands ready to capture and present your development emails with unwavering reliability.
Stands watch over port 1025
, catching all development emails with grace and precision.
postmill tilt --quest-port 1025 # SMTP port
The faithful companion, managing message processing and storage with steadfast reliability.
postmill tilt --sancho # Enable verbose mode
Your window into the email testing realm, where captured messages are displayed with simplicity and charm.
postmill tilt --windmill-port 8080 # UI port
Choose the path that suits your quest:
Download PostMill.app for your platform:
๐ง Under Construction ๐ง
# Homebrew (macOS & Linux)
brew install postmill
# Direct download (all platforms)
curl -L https://get.postmil.dev || sh
# Go developers
go install github.com/bashhack/postmill@latest
๐ง Under Construction ๐ง
Begin your quest:
# Core Commands
postmill tilt # Start all services
postmill halt # Graceful shutdown
# Configuration
postmill tilt --quest-port 1025 # SMTP port
postmill tilt --windmill-port 8080 # UI port
postmill tilt --tales-path ~/postmill_data # Storage location
postmill tilt --sancho # Enable verbose mode
# Tale Management
postmill tales list # List all emails
postmill tales watch # Monitor in real-time
postmill tales clear # Clear all
postmill tales clear --older-than 24h # Clear with age filter
# Status Commands
postmill status # Show system status
postmill status --json # Machine-readable status
# Development Commands
postmill tilt --watch # Watch mode
postmill tilt --ci # CI mode
Advanced usage:
# Custom ports
postmill tilt --quest-port 2025 --windmill-port 8080
# Specific storage location
postmill tilt --la-mancha ~/postmill_data
# Development mode
postmill tilt --sancho --watch
# ~/.postmill.yaml
quest:
port: 1025
host: "0.0.0.0"
windmill:
port: 8080
theme: "light" # or "dark"
tales_per_page: 50
sancho:
workers: 2
wisdom: true # verbose logging
la_mancha:
scrolls: "~/.postmill/tales"
memory: "24h" # retention period
# config/environments/development.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'localhost',
port: 1025
}
# settings.py
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
EMAIL_USE_TLS = False
// nodemailer configuration
const transport = nodemailer.createTransport({
host: 'localhost',
port: 1025,
ignoreTLS: true
secure: false,
tls: {
rejectUnauthorized: false
}
});
// Go stdlib
smtp.SendMail("localhost:1025", nil,
"[email protected]",
[]string{"[email protected]"},
[]byte("Hello!"))
// Go with gomail
d := gomail.NewDialer("localhost", 1025, "", "")
# Terminal 1: Start PostMill
postmill tilt --watch
# Terminal 2: Run your application
rails server # or your app's start command
# Terminal 3: Monitor emails
postmill tales watch
# GitHub Actions
steps:
- name: Setup PostMill
run: |
curl -L -o postmill https://get.postmill.dev
chmod +x postmill
./postmill tilt --ci &
Upgrade your quest with PostMill Pro:
- ๐ฆ Extended message retention
- ๐ฅ Team collaboration features
- ๐ Advanced search capabilities
- ๐ Email analytics
- ๐ REST API access
- ๐ฌ Priority support
Whether you're a knight of code or a squire of syntax, contributions are welcome! See the Contributing Guide for details.
PostMill's core functionality is available under the MIT License. See the LICENSE file for details.
Some features marked as "Pro" require a separate commercial license. For more information:
PostMillยฎ and the PostMill logo are trademarks of Marc Alvarez.
"Too much complexity may be madness. And maddest of all: to see email testing as it is, and not as it should be."
โ Adapted from Don Quixote, with apologies to Cervantes
Made with โค๏ธ by bashhack.