Well, you don't provide much data but 20 minutes does not look very unreasonable for such amount of emails with smtp
protocol. With smtp
you have to exchange 5 messages with server.
- helo
- mail from
- mail to
- data
- quit
When you assume 10ms ping to your destination that gives 11k * 50ms = 550s
for only network latency overhead. That is roughly 10 minutes.
Then you need to actually open and read 11k files it also can take a while, maybe not that much. But you did not specify the size of data you send. Maybe it can account for the rest of the time. Especially if you say you send csv
data files.
It will be hard to speed it up not changing technology solutions you use. But I would suggest transmitting data as binary in bigger chunks preferably using compression. Compression should be meaningful for csv
files.