Thank you for rating this answer.
First, let's take a look at the origin of the non sendmail solution. As OpenEMM is also available for Windows systems where no standard MTA is available, we needed some replacement. So we developed a simple sendmail emulation to do the required work to make OpenEMM usable.
Pros for the sendmail emulation:
- You have a closed system without the external dependency for an external package (sendmail.)
- The configuration is reduced to a minimum.
- You can run the whole application without root permission (as long as you ensure that a user may bind to port 25, which is not permitted by default.)
Cons for the sendmail emulation:
- It is written in Python, which is a great computer language, but it is still an interpreted language, which means it's not optimized for speed and high load systems.
- It is limited to do the work for OpenEMM, nothing more. So if you need any other functionality a MTA offers (from simple deliver mails to other local mailboxes to complicate filter, relay or gateway you can't realize this.
Pros for sendmail:
- It's part of your operating system, so you will always get the latest or most stable version and it can serve all local users as well.
- As it is used by a broad user base it is well tested and reliable.
- You have all the feature sendmail offers (to get a clue, just look into your sendmail.cf.)
- It is written in a compiled language, so it's fast and can handle high load.
Cons for sendmail:
- Local policy may prohibit the usage of sendmail.
- Configuration can be very complicate (the price you pay for flexibility.)
- A bit more configuration work to set it up for OpenEMM.
So whenever possible, it makes more sense to use sendmail over the sendmail emulation as found in OpenEMM. If you cannot use sendmail, the emulation is still good enough for typical site.
Of course, this only makes sense on Linux, on Windows you will use the emulation, as there is no sendmail available (in general.)