Case study · 2026 to present
Kot The Mail
The problem
Sending an email from a build job usually means one of two bad options: a
handful of sendmail flags that behave differently on every image, or pulling
in a full mail library and writing a throwaway script around it. Neither
survives being moved to a different runner.
Kot The Mail is a single command that takes its configuration as key-value arguments, a JSON file, or a mix, with the arguments overriding the file. That split matters in practice: the JSON holds the SMTP server, port and credentials that stay the same across every job, and the flags carry the subject and recipient that change per invocation.
It speaks SMTP and SMTPS, takes an HTML body from a file or a raw string, attaches files, and lets the log level be set at runtime so a failing send can be made loud without a rebuild. It ships as a container image and as a release jar, so a pipeline can run it without a toolchain installed.
Stack and tooling
| Language | Kotlin 2.3 on JVM 21 |
| Jakarta Mail over SMTP or SMTPS | |
| Build | Gradle 9, ktlint, SonarQube |
| Distribution | Container image or a release jar |