Skip to content
A Basic IMAP Server written in Rust (WIP)
Rust Shell Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
ci
cli
examples
shared
src
.editorconfig
.env
.gitignore
.travis.yml
.zappr.yaml
Cargo.lock
Cargo.toml
IMAPServer-rs.iml
LICENSE
README.md
appveyor.yml
windows_thunderbird_debug.cmd

README.md

Maintenance Build Status Build status codecov DOI

IMAPServer-rs

A Basic IMAP Server written in Rust (WIP)

Join the discussion at #IMAPServer-rs:matrix.ffslfl.net !

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

What things you need to install the software and how to install them

  1. You need to install cargo. Use rustup to install it
  2. You need the sqlite3 dev packages for your system

Installing

A step by step series of examples that tell you have to get the IMAP server running

Stable

Install using cargo:

cargo install IMAPServer

Master

Clone the repository:

git clone https://github.com/Nordgedanken/IMAPServer-rs.git

Build the binary

cd IMAPServer-rs
cargo build

Open the needed Ports

143

Setting up

To add a new user to your database install the cli:

Stable

cargo install IMAPServer-cli

Master

cd cli
cargo build

Running the cli:

mailbox-cli add --username=<email_address> --password=<password>

All passwords are saved using the argon2 hashing algorithm.

Running the tests

After cloning this repository Cargo has a simple test command. You can simply use

cargo test --release

Built With

  • Rust - The framework used

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details

You can’t perform that action at this time.