Coder Social home page Coder Social logo

surelin-smtpd's Introduction

Surelin-SMTPD

A lightweight mail server written in Go. This server does not attempt to check for spam or do any sender verification.

The most alluring aspect of Go are the Goroutines! It makes concurrent programming easy, clean and fun! Go programs can also take advantage of all your machine's multiple cores without much effort that you would otherwise need with forking or managing your event loop callbacks, etc. Golang solves the C10K problem in a very interesting way http://en.wikipedia.org/wiki/C10k_problem.

Once compiled, Surelin-SMTPD does not have an external dependencies (HTTP, SMTP, POP3 are all built in).

Protocol Supported

  • ESMTP (RFC5321)
  • SMTP AUTH (RFC4954) and PIPELINING (RFC2920)
  • POP3 (RFC1939)

Features

  • Built-in SMTP server
  • Built-in POP3 server
  • Built-in MTA
  • No installation required
  • Lightweight and portable
  • MongoDB storage for message persistence

To Do

  • Support STARTTSL and SSL/TLS
  • Built-in IMAP server
  • Built-in web based mail client
  • Admin interface (domain and user management)

Building from Source

You will need a functioning [Go installation][Golang] for this to work.

Grab the Surelin-SMTPD source code and compile the daemon:

$ go get -v github.com/fitraditya/surelin-smtpd

Edit etc/smtpd.conf and tailor to your environment. It should work on most Unix and OS X machines as is. Launch the daemon:

$ $GOPATH/bin/surelin-smtpd -config=$GOPATH/src/github.com/fitraditya/surelin-smtpd/etc/smtpd.conf

By default the SMTP server will be listening on localhost port 25000 and the web interface will be available at localhost:10025.

Testing

  1. Install and run Surelin-SMTPD
  2. Open localhost:10025, and register new account
  3. Open terminal or cmd, access SMTP and POP3 server using telnet
  4. Use mail client (Thunderbird, Outlook, etc)

For complete guide how to test Surelin-SMTPD, please refer to doc directory.

Live Demo

surelin.fitraditya.com

Credits

This project is based on smtpd.

Licence

Released under MIT license, see LICENSE for details.

surelin-smtpd's People

Contributors

sandeepone avatar fitraditya avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.