Rebex IMAP

IMAP, SMTP, MIME, S/MIME libraries for .NET

Download 30-day free trial Buy from $199
More .NET libraries

Back to feature list...

Compatibility

See also platforms and standards the mail library is compliant with.

XCOPY deployment 

When distributing an application using Rebex IMAP library, simply copy the following DLL files (.NET assemblies) with your application:

  • Rebex.Common.dll
  • Rebex.Networking.dll
  • Rebex.Mail.dll
  • Rebex.Imap.dll
  • Rebex.Smtp.dll

There is no need to install, configure or distribute anything else to make them work.

Rebex IMAP license is royalty-free - you can distribute your application to unlimited number of users or computers without any additional fees.

Supported SMTP, IMAP servers 

Rebex IMAP library works with all standard-compliant SMTP and IMAP servers.

Recommended and tested mail servers:

Also works with:

  • XMail
  • Yahoo mail server
  • Dovecot
  • Postfix
  • Courier mail server
  • All other standard-compliant SMTP, IMAP servers

Fine-tuning client behavior 

The Smtp and Imap objects makes it possible to adjust various client settings and workarounds. Most of them are available through Settings property (see the next section for details).

Some settings are available at the Smtp and Imap objects themselves. This includes the Encoding property that specifies a charset to be used when encoding commands and decoding responses. However, since all of those should normally use ASCII, changing the default value is seldom needed.

// create client instance
// ...

// set encoding to UTF-8
client.Encoding = Encoding.UTF8;
' create client instance
' ...

' set encoding to UTF-8
client.Encoding = Encoding.UTF8

The common settings include a Timeout property as well. Use it to change the default timeout value of 60,000 milliseconds.

Workarounds for common server issues 

Workarounds for some server issues are not enabled by default because detecting them automatically would be troublesome. They can be changed through properties of Smtp.Settings and Imap.Settings objects.

// create IMAP client instance
var client = new Imap();

// ignore invalid message headers
client.Settings.IgnoreUnparsableHeaders = true;
' create IMAP client instance
Dim client = New Imap()

' ignore invalid message headers
client.Settings.IgnoreUnparsableHeaders = True

List of common tweaks and workarounds:

Object Property Purpose
Imap
Pop3
IgnoreUnparsableHeaders Ignore unparsable headers when parsing mail message received from the POP3 or IMAP server.
Imap
Pop3
IgnoreUnparsableSignatures Ignore unparsable S/MIME signature entities when parsing mail message received from the POP3 or IMAP server.
Smtp AllowNullSender Allows null sender (<>) to be specified in Smtp.Send call. Used when sending delivery status notifications.

Back to feature list...