• Stars
    star
    109
  • Rank 317,024 (Top 7 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 10 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

IMAP Server for golang

go-IMAP Logo

This project is no longer active

Check out this much more active and mature project instead:

https://github.com/emersion/go-imap

Go IMAP Server

Travis CI Build Status

Barebones IMAP4rev1 server for golang. Designed for integration into a backend app to provide email client access.

Features a simple API for implementing your own email storage by implementing golang interfaces. Currently a dummy (in-memory) storage is included, with plans to include MySQL storage. This would make it simple to integrate into a backend application to allow users to drag-drop emails into the application, without messing around with maildir.

Although it would be possible to implement and plug in a maildir storage interface, that would defeat the purpose of this project and there are much better, tried and tested open source and commercial solutions that have been around for a long time (Courier, Dovecot etc). The goal of this project is to provide simple IMAP access to some kind of existing system without the overhead of installing a full-blown IMAP/POP3 mail server.

NOT READY FOR PRODUCTION USE

Currently only plaintext authentication is implemented. This is really bad, don't use it in any kind of environment where actual passwords or sensitive emails exists. Actually don't use it anywhere.

Supported Commands

Command Planned Implemented Tests
CAPABILITY ✓ ✓ ✓
NOOP ✓ ✗ ✗
LOGOUT ✓ ✓ ✓
AUTHENTICATE ✓ ✓ ✗
LOGIN ✓ ✓ ✗
STARTTLS ✓ ✗ ✗
EXAMINE ✓ ✓ ✗
CREATE ✓ ✗ ✗
DELETE ✓ ✗ ✗
RENAME ✓ ✗ ✗
SUBSCRIBE ✗ - -
UNSUBSCRIBE ✗ - -
LIST ✓ ✓ ✓
LSUB ✓ ✓ ✓
STATUS ✓ ✓ ✓
APPEND ✓ ✓ ✓
CHECK ? ✗ ✗
CLOSE ✓ ✓ ✗
EXPUNGE ✓ ✓ ✓
SEARCH ✓ ✗ ✗
FETCH ✓ ✓ ✓
STORE ✓ ✓ ✓
COPY ✓ ✓ ✓
UID ✓ ✓ ✓

More Repositories

1

news-feed-eradicator

A browser extension that deletes your news feed and replaces it with a nice quote
TypeScript
1,131
star
2

mecab-docs-en

Translation of the MeCab documentation to English
40
star
3

cavernos

Retro fantasy terminal for building DOS-era ASCII games, powered by WebAssembly
Rust
33
star
4

mock-conn

Mock Connection for golang
Go
22
star
5

2d-shadows-video

Source code for tutorial on creating 2d shadows in webgl. Video: https://www.youtube.com/watch?v=UuWefkOwuRY
TypeScript
10
star
6

bs-snabbdom

Bucklescript + Snabbdom
OCaml
10
star
7

xtypes

Rust
4
star
8

go-jedict

JEDICT (Japanese-English dictionary) lookup for Golang
Go
4
star
9

jens

Code Generator
Rust
3
star
10

bucklescript-tea-tree

Bucklescript TEA - Tree View
OCaml
3
star
11

xexpressions

Because regular expressions are too regular
Go
3
star
12

Membit

JavaScript
2
star
13

docker-wordpress-workshop

Workshop for OSS Cafe's WordPress-Bu http://www.osscafe.net/en/
2
star
14

json-api-recorder

Quick and dirty proxy that records JSON api responses
Go
2
star
15

ipqr

Displays a QR code containing a URL to your machine in the terminal
Go
2
star
16

write-yourself-a-scheme

Haskell exercises
Haskell
1
star
17

issues-test

1
star
18

ldjam-50

Ludum Dare 50 entry
GDScript
1
star
19

2d-shadows

TypeScript
1
star
20

waam

WebAssembly Audio Modules
WebAssembly
1
star
21

marktype

TypeScript
1
star
22

arp-inspector

Simple web interface for discovering IP addresses on the local network
JavaScript
1
star
23

toucan

A super simple permission module for access control with tokens
JavaScript
1
star
24

prj

Navigate between local repos quickly with fuzzy find and git summaries
Rust
1
star