Hackweek 19

Last Hackweek, I managed to complete an esmtpd server that can receive incoming e-mail and write it into a mail spool: https://github.com/peti/postmaster. The server supports SMTP and ESMTP with full PIPELINING and STARTTLS extensions. In this Hackweek, I'd like to complete part that delivers messages to local users and/or to remote servers via SMTP. Another topic I'd like to tackle is to come up with a working strategy for regression testing the server.

Hackweek 18

Theoretically, Haskell should be perfect for implementing a network service daemon like smtpd. There is a whole bunch of mature libraries for network communication, dns, tls, and even parsing of RFC281. So all that stuff just needs to be tied together by a main function. :-) It should be possible to come up with a daemon that can accept a simple ESMTP mail transfer and perform local delivery, say, via LMTP (which procmail supports). Once that's implemented, we a have a server that cat accept local mail from the Internet. From there, going to mail injection cannot be hard since we already have the LMTP code. I dunno ... it might be too ambitious a project, but I am interested in doing some system-level programming and I enjoy writing Haskell code, so I'll just give it a shot and see what happens.

Generally speaking, I see a niche in the MTA market, because the available mail servers tend to be too complex, i.e. they support too many features. Most sites have only moderate requirements and they don't need all kinds of funky header re-writing and a dozen milters and an RDBMS for storing the mail spool. If I can come up with a design that works well for all the use-cases that I personally have on my servers, then chances are that the resulting code will be useful to others too.

Looking for hackers with the skills:


This project is part of:

Hack Week 18


  • about 1 year ago: osukup liked Write a simple ESMTP mail server in Haskell
  • about 1 year ago: psimons added keyword "haskell" to Write a simple ESMTP mail server in Haskell
  • about 1 year ago: psimons started Write a simple ESMTP mail server in Haskell
  • about 1 year ago: psimons originated Write a simple ESMTP mail server in Haskell

  • Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!