Menu

Home

Araz Farhang Dareshuri
There is a newer version of this page. You can find it here.

AIM (Aegis Implicit Mail) is a free and open-source .net library which aims to be a comprehensive mail client which supports all protocols for sending different types of mails in the easiest way for developers.

Welcome to Aegis Implicit Mail(AIM)

If you are looking for information about Implicit mail servers please refer to [C# send email using implicit ssl]. You can also refer to [SSL VS TLS] to read more on SSL/TLS protocols

How to use AIM to send Ssl Mail?

*. Download Library

by clicking on download button or getting source codes.

*. Include it in your project!

*. Write the code!

As you might be familiar with System.Net.Mail, we have four important objects in sending mails: Mail Message, Addresses, Attachment and sender. For each mail you need to generate mail message, set addresses and attachments and then send it using a smtp sender.
AIM uses the same architecture. We have normal (mime) Mails and smime Mails that can be in a plain sender or Ssl Sender in addition Ssl Sender can be implicit and explicit.
In Conclusion you can [Send Mime Mails to Implicit Ssl Smtp Mail Servers],[Send SMIME Mails to Implicit Ssl Smtp Mail Servers], [Send Mime Mails to Smtp Mail Servers], [Send SMIME mails to smtp mail servers], [Send Mime Mails to Explicit Ssl Smtp Mail Servers],[Send SMIME Mails to Explicit Ssl Smtp Mail Servers].
Another alternative is to use our mail factory class which is able to send all mentioned mails

What is the underlying Architecture?

As mentioned, we will face with four concepts: Mail Messages, Mail Addresses, Attachments and Mail Senders

Mail Message

All mail messages in Aegis Implicit Mail are extending an abstract class called AbstractMailMessage which is an extended System.Net.Mail.
If you want to send MIME messages (nor mal emails) you need to use MimeMailMessage and if you are about to send a smime (Signed/Encrypted) mail you need to use SmimeMailMessage.

MimeMailMessage is made to support our extended Mime Attachments and SmimeMailMessage is to enhance Mail messages with Cryptography functionalities

Mail Addresses

All Mail Addresses are Implementing IMailAddress. So we can cast them to each other and use generic classes.
For the time being MimeMailAddress have nothing more than MailAddresses beside implementing IMailAddress Interface, while SmimeMailAddress
Has Signing and Encryption certificates In order to be able to send Signed and encrypted Certificates to Mail Addresses

Attachments

All Attachments Classes should extend System.Net.Mail.Attachment.

MimeAttachment is implemented in order to add inline mail capabilities beside Attachment functionalities. In the other hand, MimeAttachment can have two types, inline and attached.

The most important thing that we need for Smime Attachment is to be able to sign and encrypt it. Therefore we need to have the data of attachment file (as byte array). In the other hand we don't need to have any specific object for the Smime attachments we use the .net Attachment class and in sender we just read it's content and will sign and encrypt it. Therefor, to send an smime mail you can use System.Net.Mail.Attachment

Mail Senders

All mail senders should implement an interface called IMailer. This interface is used to define mail generation and mail sending functions.
Mail Senders are used to send Mime And Smime Messages with specified attachments and receivers to specified users
You can use MimeMailer for sending mime messages and SmimeMailer for sending smime mails.


MongoDB Logo MongoDB