Proxy an unauthenticated, unencrypted POP3 / SMTP server to authenticated IMAPS and SMTPS backends.
## Features
- Exposes legacy `POP3` on `0.0.0.0:110` and legacy `SMTP` on `0.0.0.0:25`
- Forwards POP3 mailbox access to an IMAP backend
- Forwards SMTP submissions to an SMTPS backend
- Backend host, ports, and credentials are configured via environment variables
## Environment Variables
-`POP3_BIND_ADDR` (default `0.0.0.0`)
-`POP3_BIND_PORT` (default `110`)
-`SMTP_BIND_ADDR` (default `0.0.0.0`)
-`SMTP_BIND_PORT` (default `25`)
-`BACKEND_IMAP_HOST`
-`BACKEND_IMAP_PORT` (default `993`)
-`BACKEND_IMAP_USER`
-`BACKEND_IMAP_PASS`
-`BACKEND_IMAP_USE_SSL` (default `true`)
-`BACKEND_IMAP_USE_STARTTLS` (default `false`)
-`BACKEND_SMTP_HOST`
-`BACKEND_SMTP_PORT` (default `465`)
-`BACKEND_SMTP_USER`
-`BACKEND_SMTP_PASS`
-`BACKEND_SMTP_USE_SSL` (default `true`)
-`BACKEND_SMTP_USE_TLS` (default `false`)
## Build and run
This project targets the latest Python LTS release. The included `Dockerfile` uses `python:3.12-slim`, which is compatible with Python 3.12 and later LTS releases.
This implementation begins the proxy with a minimal POP3 command set and SMTP delivery path. It is designed to start development on the required application architecture.