testcontainers/testcontainers-python

New Container: Mailpit

oliverlambson opened this issue · 0 comments

What is the new container you'd like to have?

axllent/mailpit is a full-featured SMTP mock server that's ideal for integration testing.

It allows for simple configs that accept any auth, and can be configured to (1) support STARTTLS and SSL; (2) accept only specific user/password combinations for auth. This covers most ways you would connect to a real SMTP server and is particularly useful for avoiding having to create a specific insecure SMTP handler for testing only—moving the mocking out of application code.

Why not just use a generic container for this?

The SSL support config is non-trivial, as it requires generating a private key and a self-signed certificate, and mounting them to the container. Configuring specific user/pass auth also requires setting multiple env vars in the container in a single string with a specific format.

For an end-user, having an SMTP server that can just be spun up that supports TLS and specific user/pass auth without understanding the internals seems ideal. If nothing else, it means you don't have to repeat the same config over and over again whenever you want to use a mailpit testcontainer.

Other references:

N/A