Smail/README.md

5.3 KiB

Smail

This project is forked and developed based on PMail.

Comprehensively refactored and upgraded with a unified single-database architecture, enterprise-grade multi-factor authentication (2FA), a responsive modern Web UI across all devices, automated one-click deployment, and zero-downtime hot updates.

One server, one domain, one command, and one minute — deploy a high-reputation, 10/10 deliverability enterprise-grade mail server with ease.


Core Advantages & Features

1. Unified Single-Database Architecture (SQLite / MySQL / PostgreSQL)

  • Zero Database Fragmentation: Business emails, user accounts, configuration histories, and system audit logs reside in a single chosen database.
  • Embedded Local SQLite by Default: Ready to run out of the box with zero external dependencies.
  • Enterprise High-Concurrency Support: Full native support for external MySQL 8.x and PostgreSQL 14+, featuring seamless zero-downtime database migration.

2. Extremely Low Resource Usage & High Performance

  • Go + Modern Vue 3 Architecture: Backend binaries directly embed all frontend web assets and plugin runtimes.
  • Ultra-Lightweight Footprint: Typically runs on just 20MB - 30MB of RAM, making it exceptionally smooth on budget-friendly cloud instances (1 core, 512MB / 1GB RAM).

3. Enterprise-Grade Security & Multi-Factor Authentication (2FA)

  • Industrial-Grade 2FA: Supports time-based TOTP (Google / Microsoft Authenticator) and hardware passkeys (WebAuthn / Passkey).
  • Dedicated Protocol Credentials:
    • Client-Specific Credentials: Secure credentials for third-party email clients (Outlook, Foxmail, iOS/Android Mail) without exposing master passwords.
    • System Notification Credentials: Independent rate-limited credentials designed for system notifications and webhook dispatching.
  • Rigorous Static Security Audits: 100% passed gosec vulnerability scanning and concurrency data-race sanitization.

4. 10/10 Email Deliverability Reputation

  • Modern Anti-Spam Standards: Built-in DKIM signing, strict SPF alignment verification, and DMARC policy enforcement.
  • List-Unsubscribe Headers: Strictly compliant with RFC standards, minimizing spam flagging by Gmail, Outlook, QQ, and NetEase.
  • Smart Outbound SMTP Relay: Dedicated relay management to ensure smooth delivery even on VPS providers with port 25 restricted.

5. Automated SSL Certificate Lifecycle Management

  • ACME Protocol Integration: Automated issuance and silent auto-renewal via HTTP-01 and major DNS APIs (Aliyun DNS, Tencent Cloud DNS, etc.).
  • Apex & Wildcard Coverage: Covers both root domains and subdomains automatically, while also supporting custom certificate hot reloading.

6. Modern Adaptive Responsive Web Interface

  • Dual-Pane Responsive Layout: Perfectly tailored for desktop ultrawide monitors, laptops, tablets, and mobile devices.
  • Full-Featured Mailbox: Includes configuration-free instant multi-language translation, rich text WYSIWYG editor, sender blacklists, and flexible routing rules.

Quick Installation & Deployment

One-Click Installation

Download the latest release package for your platform (e.g., Smail_V2.14.0_linux_amd64.tar.gz) and run:

# 1. Extract package (e.g. to /smail)
tar -zxvf Smail_V2.14.0_linux_amd64.tar.gz -C /smail
cd /smail/deploy

# 2. Grant execution permissions and start installation
chmod +x install-systemd.sh update-systemd.sh
./install-systemd.sh

The script automatically:

  • Locks the unpacked directory as the dedicated installation path;
  • Creates a dedicated system user smail with sandboxed permissions;
  • Automatically configures the firewall (ports 80, 443, 25, 465, 587, 110, 995, 143, 993);
  • Registers the smail.service systemd service and enables startup on boot;
  • Outputs startup status and the web initialization URL (http://<Server-IP>).

Smooth Online Updates

To update to a new release without losing configuration or database records:

cd /smail/deploy
./update-systemd.sh

Releases & CI/CD Workflows

Automated builds and releases are maintained across both repositories:

Official multi-platform releases generated by CI/CD workflows:

  • Linux: Smail_V<version>_linux_amd64.tar.gz / Smail_V<version>_linux_arm64.tar.gz
  • Windows: Smail_V<version>_windows_amd64.zip / Smail_V<version>_windows_arm64.zip
  • macOS: Smail_V<version>_darwin_amd64.tar.gz / Smail_V<version>_darwin_arm64.tar.gz

Developer & Integration Guides


License & Acknowledgements

  • Forked and developed based on PMail.
  • Distributed under open source licenses.