A Rust library for creating mail servers.
Go to file
2024-06-28 18:51:24 +08:00
.vscode Set vscode default features 2022-12-17 11:24:19 +01:00
mailin parse for compatibility 2024-06-28 18:51:24 +08:00
mailin-embedded chore: Release 2024-02-10 13:45:09 +01:00
mailin-server Use letsencrypt-prod 2024-02-25 10:48:40 +01:00
mime-event Update mime-event repo 2024-02-11 00:53:39 +01:00
mxdns chore: Release 2024-02-10 13:45:50 +01:00
.dockerignore Added Dockerfile 2023-12-13 08:14:38 +01:00
.gitignore Write messages to files 2019-11-12 07:12:39 +01:00
.woodpecker.yml Fix woodpecker filter 2024-02-10 13:36:08 +01:00
APACHE2-LICENSE Updated licence files 2018-12-15 18:27:29 +01:00
Cargo.lock chore: Release 2024-02-10 13:45:50 +01:00
Cargo.toml Remove workspace resolver message 2023-10-08 12:52:23 +02:00
Dockerfile Write logs to pvc 2024-01-28 11:58:42 +01:00
MIT-LICENSE Updated licence files 2018-12-15 18:27:29 +01:00
README.md Added repository details 2024-01-28 09:53:38 +01:00


This repository contains libraries for writing SMTP servers in Rust.

Send an email to mailin@spamtastic.cc to try out an example server.


The project is hosted on https://code.alienscience.org/alienscience/mailin, and is mirrored to https://codeberg.org/al13nsc13nc3/mailin.

To create issues or PRs, login with your Github account.

Directory structure


The mailin directory contains the Mailin library. The library handles parsing, the SMTP state machine and building responses.

mailin embedded

The mailin-embedded directory contains an SMTP server that can be embedded into another program. This can be used to receive email within a program or to build a standalone email server.

mailin server

The mailin-server directory contains an example standalone SMTP server that uses the mailin-embedded library.


The mxdns directory contains utilities for looking up IP addresses on DNS based blocklists and for doing reverse dns lookups.

mime event

The mime-event directory contains an event driven MIME parser. This parser can parse MIME messages line by line without allocating memory for the whole message.