The latest version can be found at GotDotNet
Introduction
cpSphere.Mail
is a comprehensive and extendable implementation of MIME, POP and SMTP RFCs. This is architected to provide a framework for all email related development. Like all Microsoft .NET class libraries, this component could be used with default options with less or no knowledge of underlying MIME, POP, SMTP protocols. Alternatively, one can gain full control over all email communications including MIME headers, server communications etc.
Features
cpSphere.Mail
component supports a number of features that stands it out amongst other implementations. These features include:
- Fully Managed code - Written 100% in C# for CLR.
- Absolutely Free - The component is free to use, you only need to register it and get License Key.
- Visual Studio Integration -
cpSphere.Mail
is fully integrated with Visual Studio .NET.
- Scalable Architecture -
cpSphere.Mail
library is designed with future extension in mind. You can use it out-of-box or extend it for granular control.
cpSphere.Mail.Mime Features
The classes in cpSphere.Mail.Mime
namespace make it easy to work with even the most complex MIME email messages. Some of the many supported features include:
- A complete implementation of the latest MIME specifications.
- Full control on Mime message headers.
- Support for custom header parsing.
- Support for Unicode character set in message headers and body.
- Unlimited attachments.
- Attachment decoding and encoding - comes with support for Base64, Quoted-Printable and Uuencode, and support for custom encoding.
- Collection of all body parts - all the parts of a mime message are accessible using
MessagePartCollection
.
- Collection of recipient emails - All the recipients and senders email addresses are accessible using EmailAddressCollection.
- Native support for message Reply and Forwarding.
- Support for serialization for individual message part or complete message.
cpSphere.Mail.Pop Features
The classes in cpSphere.Mail.Pop
namespace implement POP3 Protocol as defined in related RFCs. These classes let you connect to a POP3 server and retrieve email messages using standard methods. Out-of-box functionality lets you retrieve individual message/message header or n number of messages. Few of the striking features are:
- Total access and control over POP3 server.
- Support for all the standard POP3 commands and mechanism to use extended capabilities of a POP3 server.
- Full control on downloaded messages.
- Built-in cache for downloaded messages.
- Ability to download only headers for messages.
- Ability to set operation wait time.
- Asynchronous Programming model.
- Message download progress events.
cpSphere.Mail.Smtp Features
Classes in cpSphere.Mail.Smtp
namespace not only provide easy methods to send messages using ESMTP protocol, they also provide full control over the message sending operations. Out-of-the-box, these classes detect the extended capabilities supported by the SMTP server and send messages by employing the most optimized method to send message. For example, if a server supports Pipelining and Chuncking of data, SendXXX
methods will use Pipelining, hence saving number of return calls. Some interesting supported features are:
- Progress Monitoring events.
- Delivery Status Notification Support.
- Support for cancellation of sending operation.
- High performance throughput - component automatically checks for extended server capabilities and uses most optimized method to send email messages.
- Unlimited recipients.
- Full control on SMTP server.
How this code is organized:
For complete discussion on how this code is organized, please download the help file from here. I have also included a very detailed demo project to jump start the development.
I hope this component will be helpful in your development. I have created a GDN workspace here for its development, and will appreciate if you use that to coordinate further development of this code.