Skip to content
This repository has been archived by the owner on Jun 19, 2024. It is now read-only.
/ slimIMAP Public archive

A Simple and Slim IMAP server aiming for a minimalistic and simple design.

Notifications You must be signed in to change notification settings

Torxed/slimIMAP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SlimIMAP

A Simple and Slim IMAP server aiming for a minimalistic and simple design.

Requirements

  • Python3.5+ (because of how path imports and dict merges are executed)
  • python-pam (optional in the future)
  • python-psycopg2 (postgres is not actively in use, but the code placeholders are)
  • python-systemd (used for logging, will be optional in the future)

Installation

git clone this repo, or if you're on Arch Linux:

# pacaur -S slimIMAP

Configuration

TODO: Many of these options are not in use, they're taken from slimSMTP which shares similar features.

The basic idea is that you simply modify configuration.py in the code the dictionary itself or under /etc/slimIMAP/.
This consist of a few settings which I'll try to explain here:

  • domains - A sub-dictionary to enable support for multiple domain configurations.
  • users - Now, this is NOT email address, it's the accounts we can authenticate for external mail deliveries. The fields which needs to be defined for each user are password which, will be required if the sender tries to send external emails. storage which is the storage class slimIMAP will use to call .store(from, to, message) on in order to store the incomming email.
  • mailboxes - For now, these are key, value pairs where the key is the full email address and the value is the username it belongs to.
  • filepermissions - Unless owner=... is specified in the users configuration, these filepermissions will be used. (note: user definitions override filepermissions!)
  • ssl - Contains certificate and version information and a flag to enforce SSL for all sockets and mail-deliveries.
  • postgresql - Credentials for the database backend (if opted in for it) [TODO: bring back PostgreSQL mailbox delivery options]
  • pidfile - It is what it is, it's the pid file

How to run

It shouldn't be more to it than to run:

# python slimIMAP.py

Changelog

0.0.1

  • Very crude basic functionality
  • Supports authenticating (PLAIN method only atm)
  • Partially supports SELECT, LIST, UNSUBSCRIBE, LSUB, NOOP, CREATE

About

A Simple and Slim IMAP server aiming for a minimalistic and simple design.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages