Click here to Skip to main content
13,050,896 members (63,271 online)
Click here to Skip to main content
Add your own
alternative version


56 bookmarked
Posted 22 Oct 2003

Email Component for .NET

, 27 Oct 2003
Rate this:
Please Sign up or sign in to vote.
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. This component could be used with default options with less or no knowledge of underlying MIME, POP, SMTP protocols.

The latest version can be found at GotDotNet


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.


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.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Web Developer
United States United States
No Biography provided

You may also be interested in...

Comments and Discussions

GeneralUnhandle Timeout Error Pin
nyeinchan.ucsm3-May-11 17:23
membernyeinchan.ucsm3-May-11 17:23 
QuestionUnmanaged Code Pin
Yisman228-Dec-09 21:09
memberYisman228-Dec-09 21:09 
GeneralBody Part Pin
HimynameisAniket20-Dec-08 2:00
memberHimynameisAniket20-Dec-08 2:00 
QuestionHow to get Bounced mail from POP3 Pin
Deepesh Jain...1-Dec-08 23:40
memberDeepesh Jain...1-Dec-08 23:40 
Generalbounce email address Pin
Member 365198730-Oct-08 1:22
memberMember 365198730-Oct-08 1:22 
GeneralNo such host is known Pin
Member 33979239-Mar-08 18:07
memberMember 33979239-Mar-08 18:07 
GeneralFixing the download issue Pin
fixie_pczone28-Aug-07 21:39
memberfixie_pczone28-Aug-07 21:39 
GeneralProblem: valid license could not be granted Pin
castilloJeffersonS11-Apr-07 23:46
membercastilloJeffersonS11-Apr-07 23:46 
GeneralI found bug Pin
homer JS19-Jul-06 23:30
memberhomer JS19-Jul-06 23:30 
QuestionSerialization Pin
homer JS19-Jul-06 22:49
memberhomer JS19-Jul-06 22:49 
AnswerRe: Serialization Pin
homer JS19-Jul-06 23:20
memberhomer JS19-Jul-06 23:20 
GeneraliCalendar Pin
tlijun20-Apr-06 11:33
membertlijun20-Apr-06 11:33 
GeneralThis is a real mess Pin
Ben Peterson26-Apr-05 5:36
memberBen Peterson26-Apr-05 5:36 
GeneralUmmm...ya Pin
russ_h22-Jul-05 12:02
memberruss_h22-Jul-05 12:02 
GeneralWorking alternative Pin
lesnikowski12-May-12 23:26
memberlesnikowski12-May-12 23:26 
GeneralWARNING!! Source code Compiled in \bin\debug\cpSphereCertificate.dll Pin
esman24-Apr-05 0:23
memberesman24-Apr-05 0:23 
GeneralRe: WARNING!! Source code Compiled in \bin\debug\cpSphereCertificate.dll Pin
russ_h11-Jul-05 19:18
memberruss_h11-Jul-05 19:18 
GeneralProblem with attachments. downloaded file with size = 0 Pin
Alexander Wolff23-Feb-05 9:26
memberAlexander Wolff23-Feb-05 9:26 
GeneralRe: Problem with attachments. downloaded file with size = 0 Pin
gimarro9-Feb-07 4:21
membergimarro9-Feb-07 4:21 
GeneralWORKING alternative Pin
lesnikowski12-May-12 23:25
memberlesnikowski12-May-12 23:25 
GeneralExtremely useful code!!! Pin
fbuscaroli20-Feb-05 2:47
memberfbuscaroli20-Feb-05 2:47 
GeneralI think you'd better open your source code. Pin
Ivan Lee (CN)27-Nov-04 4:12
memberIvan Lee (CN)27-Nov-04 4:12 
General"Complete source code" - not really Pin
Bill Seddon24-Jul-04 11:22
memberBill Seddon24-Jul-04 11:22 
QuestionWhere is the source code? Pin
mrabie23-Jun-04 15:57
membermrabie23-Jun-04 15:57 
GeneralHandling Mime in C# Pin
Rehman Adil29-Apr-04 21:51
memberRehman Adil29-Apr-04 21:51 
QuestionWhat about body part? Pin
mmajerczak8-Feb-04 23:00
membermmajerczak8-Feb-04 23:00 
GeneralCannot start demo application Pin
Blue Tende6-Jan-04 22:29
sussBlue Tende6-Jan-04 22:29 
GeneralCompiling without license Pin
smallguy7828-Oct-03 23:07
membersmallguy7828-Oct-03 23:07 
GeneralRe: Compiling without license Pin
Kamraan29-Oct-03 6:35
memberKamraan29-Oct-03 6:35 
GeneralDemo Pin
Kamraan28-Oct-03 8:13
memberKamraan28-Oct-03 8:13 
QuestionWhat about attachment? Pin
Anonymous28-Oct-03 7:02
sussAnonymous28-Oct-03 7:02 
AnswerRe: What about attachment? Pin
Kamraan28-Oct-03 7:52
memberKamraan28-Oct-03 7:52 
GeneralLousy Article, Promising Code Pin
Blake Coverett26-Oct-03 10:07
memberBlake Coverett26-Oct-03 10:07 
GeneralRe: Lousy Article, Promising Code Pin
Paul Watson28-Oct-03 7:16
sitebuilderPaul Watson28-Oct-03 7:16 
GeneralRe: Lousy Article, Promising Code Pin
Kamraan28-Oct-03 7:51
memberKamraan28-Oct-03 7:51 
QuestionLicense File? Pin
joan_fl24-Oct-03 9:31
memberjoan_fl24-Oct-03 9:31 
AnswerRe: License File? Pin
Kamraan28-Oct-03 8:03
memberKamraan28-Oct-03 8:03 
GeneralRe: License File? Pin
joan_fl28-Oct-03 8:47
memberjoan_fl28-Oct-03 8:47 
GeneralRe: License File? Pin
mrabie23-Jun-04 15:55
membermrabie23-Jun-04 15:55 
Generaldownload error Pin
Luis Ricardo24-Oct-03 5:13
memberLuis Ricardo24-Oct-03 5:13 
General"Need a .NET Consultnat?" Pin
Uwe Keim23-Oct-03 20:14
sitebuilderUwe Keim23-Oct-03 20:14 
GeneralRe: "Need a .NET Consultnat?" Pin
martininick24-Oct-03 6:03
membermartininick24-Oct-03 6:03 
GeneralRe: "Need a .NET Consultnat?" Pin
joan_fl24-Oct-03 9:34
memberjoan_fl24-Oct-03 9:34 
GeneralRe: "Need a .NET Consultnat?" Pin
Fabulous2-Feb-04 9:05
memberFabulous2-Feb-04 9:05 
GeneralRe: "Need a .NET Consultnat?" Pin
xquiky8-Apr-04 7:16
memberxquiky8-Apr-04 7:16 
GeneralRe: "Need a .NET Consultnat?" Pin
C# Genius30-Apr-04 5:23
memberC# Genius30-Apr-04 5:23 
GeneralRe: "Need a .NET Consultnat?" Pin
Uwe Keim30-Apr-04 5:29
sitebuilderUwe Keim30-Apr-04 5:29 
GeneralRe: "Need a .NET Consultnat?" Pin
ChainsawDon1-Mar-05 9:31
memberChainsawDon1-Mar-05 9:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170713.1 | Last Updated 28 Oct 2003
Article Copyright 2003 by Kamraan
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid