PowerTCP Mail for .NET
from $349.00Available Platforms
Included with PowerTCP Mail for .NET
Features
Feature Overview
- Simple Mail Transfer Protocol (SMTP) and Post Office Protocol (POP3) components send and receive email, respectively
- Internet Message Access Protocol (IMAP4) component manages email on IMAP4 servers (Office 365, Gmail, Yahoo, Exchange, etc.)
- Multipurpose Internet Mail Extensions (MIME) enable the encoding and decoding of non-ASCII data like international UNICODE text and binary data
- Secure/Multipurpose Internet Mail Extensions (S/MIME) version 3.0, 3.1, 3.2 enable message signing (authentication) and encryption (privacy)
SMTP, POP3, IMAP4 components interact with servers
- Integrates .NET features, including generics, IPv6, dual-stack sockets and X509 certificates
- Secure: Link-level encryption (SSL 2.0, SSL 3.0, PCT, TLS 1.0, 1.1, 1.2, 1.3) is controlled using simple session properties
- Progress events report message upload/download activity
- Log events report data for debugging and display purposes
- Send any custom command using the exposed TCP connection
MailMessage class at the core of the system
- Represents a decoded MIME, Secure MIME (S/MIME), or non-MIME (straight ASCII) Internet email message
- Dynamic encoding occurs when the encoding stream is read from; dynamic decoding occurs when encoding stream is written to
- Can be used independent of protocol components as a general-purpose MIME or S/MIME encoder/decoder
- Rich object model represents each header, text, html, attachment, part, and resource element
- Attachments are decoded and stored in temp files by default, but can optionally be stored in MemoryStreams if disk access is not desired
- Fast on-the-fly message decoding eliminates intermediate files and delays by streaming encoded message data from the source server to the destination MailMessage
SMTP is for sending email
- Authentication support: OAuth 2.0 (XOAUTH2), CRAM-MD5, GSSAPI and NTLM (with single-sign-on), LOGIN, PLAIN
- Messages can be sent via relay servers, intermediate mail servers, or directly to recipients' domain mail servers
- Send simple email with a single line of code, or build a complex MailMessage and send it
- Delivery Status Notification (DSN) fully supported
- Supports pipelining of commands without waiting for server acknowledgments
POP3 is for downloading email
- Secure
- Authentication support: OAuth 2.0 (XOAUTH2), CRAM-MD5, GSSAPI and NTLM (with single-sign-on), LOGIN, PLAIN, clear-text, APOP
- Decrypt and/or verify signed S/MIME messages - Easy message management - default behavior populates message size and id without downloading message content
- Dynamic message retrieval - populate selected messages with just the header, header plus a little content, or the entire message
IMAP4 downloads mail too, and adds remote mail management
- Secure
- Authentication support: OAuth 2.0 (XOAUTH2), CRAM-MD5, GSSAPI and NTLM (with single-sign-on), LOGIN, PLAIN, clear-text
- Decrypt and/or verify signed S/MIME messages - IMAP4 commands synchronize the local object model with the server (change the local model and the server is changed)
- ImapMessage class represents a message in a mailbox - use to change server-side message flags and get a single message
- Mailbox class represents a server-side mailbox that contains messages - use to alter mailbox properties, enumerate messages, get messages in bulk and append new messages
- MailboxCollection class represents child mailboxes - use to manage nested mailboxes
- Update event informs client of dynamic updates to the selected mailbox
- Retrieve an entire message, headers only, attachments only, or any part desired
Ease-of-Use and Efficiency
Ease-of-Use is an attribute of class design
- Class properties are used for several purposes, making the object model more concise and easier to learn:
- Default (uninitialized) values will work for most applications, so research may be avoided
- Configuration properties control behavior (like SSL security), so users are usually spared low-level detail programming
- Configuration properties are grouped in classes that can be easily serialized for later use
- Some properties are high-level shortcuts. MailMessage.Html will search MailMessage.Parts to return text from the first "text/html" part found
- Classes merge low-level detail (typically properties that can be read) with high-level methods (that use overloads to provide default parameters). This technique combines completeness with ease-of-use.
- F1 help documentation is fully supported.
- MessageEditor control (with source code) is provided to visualize and/or edit any MailMessage.
- Reuse
- Existing .NET Mail and Mime classes are reused (MailAddress, MailAddressCollection, ContentType, ContentDisposition, etc.), minimizing the product learning curve and enhancing stability.
- Sample applications provide dialog boxes that can be quickly customized.
- Class hierarchy is carefully designed to locate selected convenience properties and methods in base classes for re-use by derived classes.
System segmentation promotes efficiency
- MailMessage (and other classes derived from Part) localize message creating, editing, and interpretation.
- MailMessage.GetEncodingStream() returns a Stream that performs encoding and decoding.
- Using Write(), the provided buffer is decoded and the MailMessage is incrementally populated.
- Using Read(), the provided buffer is filled with the next encoded segment that can be streamed to the server.
- Encoding/decoding is interleaved with socket operations, resulting in optimal performance. - Smtp, Pop, and Imap components are optimized for socket communications. Messages are transferred on demand. Worker thread efficiently sleeps while waiting for socket data.
Controls, Components and Classes
- 20 components and major classes
- 12 full-featured sample projects (VB and C# versions)
- Fully integrated Help 2.0 Docs, including extensive examples and tutorials
- Free Introductory Support
Class | Description |
---|---|
Imap Component | Uses IMAP4 to remotely manage and download email |
Pop Component | Uses POP3 to download email |
Smtp Component | Uses SMTP to upload email |
MessageEditor Control | Visual editor used to view/edit a MailMessage |
MailMessage Class | Represents a MIME or S/MIME email message |
HeaderDictionary Class | Dictionary representing header lines (header labels are the lookup keys) |
Part, Multipart, Resource, Textpart, Htmlpart, Attachment Classes | MailMessage supporting classes model any MIME or S/MIME email message |
MultipartContent Class | Provides nested access to multipart MIME entities |
DeliveryStatusNotification Class | Provides DSN configuration parameters |
ImapMessage Class | Represents a message on an IMAP server |
ImapResponse Class | Represents a response from an IMAP server |
Mailbox Class | Represents a mailbox on an IMAP server that contains a collection of messages and child mailboxes |
MailboxCollection Class | Collection containing Mailbox objects supports adding, deleting and renaming mailboxes |
PopMessage Class | Represents a message on a POP3 server |
Proxy Class | Provides an easy way to communicate with proxy servers |
Supported Environments
PowerTCP Mail for .NET supports .NET Framework version 2.0 through 4.8 and .NET Standard 2.0 (.NET Core, .NET 5, .NET 6, .NET 7, etc.).
PowerTCP for. NET components can be used with any .NET compliant language, see the list below.
Supported languages:
- C#
- VB.NET
- Managed C++
- Powershell
Tested in the following application environments:
- Windows forms desktop applications
- Windows console applications
- Windows ASP.NET web applications and Web Sites
- Windows service applications
- Windows web service applications
- Windows .NET Framework 4 Client Profile
- Windows Presentation Foundation (WPF) applications
Tested in the following development environments:
- Visual Studio .NET (2010, 2012, 2013, 2015, 2017, 2019, 2022)
- Mono platform 2.10.9 or greater (NTLM and GSSAPI authentication only supported currently on Microsoft Windows OSes)
- .NET Standard 2.0 supported platforms: https://docs.microsoft.com/en-us/dotnet/standard/net-standard
PowerTCP for .NET components do not currently support execution within Silverlight. If you are interested in using Dart products within your Silverlight solution, contact support@dart.com for more options.