SMTP2
A Go implementation for SMTP2 protocol
Received messages & sent messages
Sent Messages represent messages that were created on this server (host) and later sent to a recipient (client) server.
Received messages represent all messages that were sent from different server (host) and then arrived to this (client) server.
Run it
How to run it (aka development phase):
Server 1: go run . --host 127.0.0.1 --port 8080 --debug
Server 2: go run . --host 127.0.0.1 --port 8081 --dbconfig smtp2-1.db --debug
Special thanks
Thanks to following people for direct contribution:
Thanks to following people for direct support (contributing to issues and resolving many problems I encountered during this protocol journey):
Thanks to following people/organizations for indirect contribution (libraries):
- Gorilla Web Toolkit for mux
- golang-jwt contributors for jwt
- Jason Moiron for sqlx
- Steve Francia for cobra
- Uber for zap
- mattn for go-sqlite3
- Google Open Source for crypto
Thanks to following organizations and companies for their tools (indirect contribution):
- GitHub for providing hosting for this project and their amazing GitHub Actions, GitHub Container Registry and GitHub Issues. It really helped me while developing it (especially GitHub Issues and Actions)
- JetBrains for providing their awesome IDEs, like GoLand, which was used while developing this, and PyCharm. Tools like Database inspector were so important for this project.