Rebex (Secure) Mail has the following major advantages over its .NET core library equivalent:
- Mail messages can be saved to or loaded from a MIME format files (.eml) or Outlook .msg files. This has many benefits - for example, you can easily keep a copy of each sent message, pre-generate a batch of messages to be sent later, or create a template message (even using a third-party application such as Outlook) that can be loaded, processed and sent when needed.
- S/MIME support (in Rebex Secure Mail), making it possible to use X509 certificate to sign/verify and encrypt/decrypt mail messages.
- IMAP support
- POP3 support
- Low-level MIME API that provides even higher control over message structure and creation.
The Smtp class itself provides more control over the SMTP communication than .NET native classes and adds some missing features:
- You can specify what to do when a single recipient out of many is rejected by the server - .NET core libraries always fail when a single recipient is rejected. With our Smtp object, you can write a custom event handler for this.
- Support for both implicit and explicit SMTP/SSL (.NET core libraries only supported explicit SSL the last time I checked)
- Support for SMTP protocol extensions such as pipelining, chunking, 8bit MIME and message size declaration. It is possible that some of these are also supported by .NET core libraries, but this doesn't seem to be sufficiently documented (with our SMTP class, you can easily specify which extensions to use).
- Possibility to specify the conditions under which the SMTP server should generate and send delivery-status-notification messages.
- Ability to execute arbitrary SMTP protocol commands.
- It is easily possible to set the domain name announced by the SMTP client (.NET native classes lacked this option until recently and even now it has to be hard-coded into a config file, which is far from perfect).
- Easy way of logging SMTP communication, which is very useful when you run into any problems.
- It is possible to specify the SMTP-protocol-level sender and recipient addresses to be different from those actually present in the message being sent.
- Ability to tunnel SMTP through SSH (with cooperation from Rebex SFTP or Rebex SSH Shell). This also works for IMAP and POP3, of course.
And, last but not least, we are more flexible when our customers need to add a missing feature, a workaround for badly-behaved SMTP servers or when a bug is found in our component.