Skip to content
migaduPublic

About

Simple Webmail

Resources

Stars

24 stars

Watchers

0 watching

Forks

Latest commit

 

History

391 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alps Webmail

A simple and extensible webmail.

Requirements

  • Go: Version 1.25.0 or later is required (for building/development).
  • IMAP Server: ALPS sits on top of an existing IMAP server and requires the following capabilities:
    • IMAP4rev1 (RFC 3501)
    • METADATA (RFC 5464) - Strictly required for persisting ALPS settings, WebAuthn keys, and identities.
    • UIDPLUS (RFC 4315) - Strongly recommended for reliable message tracking and movement.
    • IDLE (RFC 2177) - Recommended for real-time email push notifications.
  • SMTP Server: Required for sending outgoing messages.

Usage

All configuration is provided via a TOML configuration file. A comprehensive example can be found in config.example.toml. Copy this file to config.toml and edit it to suit your needs.

Run the alps backend server:

go run ./cmd/alps -config config.toml

Frontend Interface

The webmail interface is a single-page application. The compiled frontend assets (including all plugins) are checked into the repository under frontend/dist and are embedded directly into the Go binary (//go:embed all:frontend/dist).

You do not need to compile the frontend to run ALPS. It works out of the box.

However, if you are making changes to the UI or plugins, you will need to recompile it:

cd frontend
npm install
npm run build

For frontend development, use the Vite dev server:

cd frontend
npm run dev

Documentation

Dive deeper into how ALPS works:

AI Assistance Policy

In compliance with NLnet's policies and our own project standards, the use of Generative AI (GenAI) in this project is strictly assistive.

  • Permitted Uses: GenAI tools may be used to assist with boilerplate code generation, writing tests, formatting documentation, or explaining logic.
  • Prohibited Uses: GenAI should not be used in a generative capacity for high-level architecture decisions or core code quality design. Purely AI-generated outputs without substantial human intellectual contribution are not accepted.
  • Accountability: Human contributors remain fully accountable for the accuracy, originality, security, and FLOSS license compatibility of all submitted work.
  • Contributor Expectations: We expect contributors to adhere to these same principles. When submitting patches or pull requests, please disclose any substantive use of GenAI that materially affected the output (e.g., in your commit messages or PR descriptions).

Contributing

Send patches and/or GitHub Pull Requests, report bugs on the issue tracker.

About

Simple Webmail

Resources

Stars

24 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages