Postfix smtp-source command

I was looking at some ideas for re-implementing an SMTP server that I work on for my day job. As I was reading about a netty example implementation called smptd on github. I saw something very interesting. He was testing his code using a command from Postfix called smtp-source. I was immediately interested. I pulled his example code and updated it for a newer version of netty (3.10.6) and started it up. I then pulled an Ubuntu image from Docker Hub and started it up. Once it was started, I used apt-get to install Postfix. The result was that I had my own little test environment up in about 5 minutes. So I tested the code from the smtpd project on my Windows 10 Pro machine (HP Pavillion Wave for those who are interested) using the smtp-source command from a Docker container. Here were my results.

time smtp-source -c -d -l 32000 -m 10000 -N -s 100 10.0.1.9:2525
real 0m12.543s
user 0m0.410s
sys 0m2.640s

The results were very interesting on a non-server class machine, or environment. It handled 10,000 email requests with 100 simultaneous connections in 12 seconds. I was impressed. time is a built in function on UNIX machines. The real time is the time that was used to process the requests. This was just a really good demonstration of Docker, containers, Postfix tools, and netty.

John Yeary

Caffeinated Java Programmer, and former Java Software Architect at Orange Bees and Kopis, and current Senior Developer at Velosio. My opinions are my own.

Greenville, South Carolina, USA johnyeary.com
blog comments powered by Disqus