One of our favorite mail transfer agents that we suggest is Qmail.  We find Qmail to be significantly faster than Sendmail (in most default scenarios) and quite easy for our clients to manage and optimize.
While there are numerous things you can do to improve sending speed of Qmail – one of the easiest is to adjust your concurrency settings.
There are a couple setting files that you will want to take a look at.  if you do not have these files you can try to create them.

  • /var/qmail/control/concurrencyremote
    Usually is a default around 10 or 20. We suggest to increase this to 250 or above if your memory can handle it.   This is the file that you want to adjust.
  • /var/qmail/control/concurrencylocal
    Usually is a default around 20 or 30.  You can increase this to a higher number. Please note however – when sending lots of mail (to users outside of your server) concurrencyremote will be the file you want to change.

The files should simply contain the number you wish to have for that concurrency type.  After you change the files (or create the files) you MUST restart the Qmail service on your server.  If you want to see the current settings that your Qmail is using you can run # /var/qmail/bin/qmail-showctl
There is a hard limit that is set when Qmail is built – so you do not want to go crazy with your concurrency settings.  Often you can push the concurrency up to 500 and in some default setups of Qmail you can go up to 1,000.  You should ensure that you have the memory/ram to back up your settings though.  If you set your concurrency remote to several hundred be prepared for Qmail to start using up more memory as you send.
As with all server changes your results and performance will be heavilly affected by a combination of your settings, server resources, and other server settings that can affect your services.  I suggest to make minor changes and then monitor your sending speeds and adjust as needed.
Check here for more email marketing tips.