Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gene-hightower/ghsmtp
Gene's SMTP server — receive Internet mail with less fuss
https://github.com/gene-hightower/ghsmtp
c-plus-plus chunking cpp cpp17 dkim dmarc rfc-5321 smtp smtp-client smtp-protocol smtp-server smtpd spf tls-support utf-8 utf8
Last synced: about 1 month ago
JSON representation
Gene's SMTP server — receive Internet mail with less fuss
- Host: GitHub
- URL: https://github.com/gene-hightower/ghsmtp
- Owner: gene-hightower
- License: other
- Created: 2014-02-05T19:47:22.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T17:05:45.000Z (7 months ago)
- Last Synced: 2024-05-22T18:27:29.492Z (7 months ago)
- Topics: c-plus-plus, chunking, cpp, cpp17, dkim, dmarc, rfc-5321, smtp, smtp-client, smtp-protocol, smtp-server, smtpd, spf, tls-support, utf-8, utf8
- Language: C++
- Size: 2.04 MB
- Stars: 7
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: COPYING
Awesome Lists containing this project
README
Gene Hightower's SMTP server.
A program to receive Internet (RFC 5321) mail. This is a “personal
domain” type program that delivers mail for all addresses to a single
user's ~/Maildir.Free software — AGPLv3 with OpenSSL exception.
Written using Standard C++ — plus PEGTL, (at one time Ragel, before
that Bison), OpenSSL, boost-iostreams, ldns, spf2, regdom, TinyCDB,
glog etc. Compiles with recent GCC and Clang.sudo dnf install \
boost-devel \
file-devel \
fmt-devel \
glog-devel \
ldns-devel \
libasan \
libidn2-devel \
libopenarc-devel \
libopendkim-devel \
libopendmarc-devel \
libpsl-devel \
libspf2-devel \
libubsan \
libunistring-devel \
openssl-devel \
tinycdb-develsudo apt-get install \
libboost-all-dev \
libcdb-dev \
libfmt-dev \
libgoogle-glog-dev \
libidn2-dev \
libldns-dev \
libmagic-dev \
libopendkim-dev \
libopendmarc-dev \
libpsl-dev \
libspf2-dev \
libunistring-dev \
pkg-configRun it from (x)inetd or daemontools as a non-root user. It will
accept mail and store it in that user's ~/Maildir.I run it on the Fedora distribution of GNU/Linux/systemd — might also
work on other platforms.Support for some useful SMTP extensions:
RFC 1870: Message Size Declaration
RFC 2920: Command Pipelining
RFC 3030: Transmission of Large and Binary MIME Messages
RFC 3207: Secure SMTP over Transport Layer Security
RFC 3463: Enhanced Mail System Status Codes
RFC 6152: 8-bit MIME Transport
RFC 6531: Internationalized EmailThe software works with IPv4 and IPv6, mostly.
I wrote this to experiment with and learn about Internet mail. I do
use it as my every day SMTP server for a number of domains.