2018-02-01
0.6.1
Pedro Freire
All
.NET
Connectors, Data Connector, Components, Libraries, Developer Tools
[Overview]
An extension interface to the MIT-licensed S22.Imap NuGet package. Current version compiled with S22.Imap version 3.6.0.
[Detail]
Features of this extension
Maps all S22.Imap methods and properties, as well as .NET's System.Net.Mail.MailMessage and other required .NET classes used by S22.Imap.
No .NET objects are exposed. This is meant to avoid potential errors when trying to save and reuse objects from permanent storage. Integer connection and other identifiers are used instead of objects.
Random integer identifiers. If these identifiers are stored on permanent storage, or arbitrarily changed, the result is likely invalid as a connection, but a proper "No connection" error message will be displayer rather than a cryptic "Bad object" or "Array out of bounds"
Support for .NET Streams used by S22.Imap when retrieving message attachments and/or alternate views. This ensures the smallest amount of data is transferred for a specific mailbox operation, even for messages with multi-megabyte attachments. Streams are identified via integer identifiers.
All exceptions are prefixed with same string, so they can be easily identified from within OutSystems.
Remember that IMAP connections are kept during a single server request, i.e., for each Server Action call (Mobile apps) or Preparation, Screen Action or Exposed Web Service call (Web apps). On each of these server requests you need to call Connect, then Login, then the actions you need.
Features of S22.Imap
Supports IMAP IDLE notifications
Supports IMAP over SSL/TLS
API designed to be very easy to use
Allows selectively fetching parts of mail messages
Inherently thread-safe
Well documented with lots of example code
Robust MIME parser, tested with 100.000+ mails
Supports various SASL authentication mechanisms including SCRAM-SHA-1
Free to use in commercial and personal projects (MIT License)
Please visit the project's Web site for example usage and details documentation.
https://github.com/smiley22/S22.Imap
Feedback
Please provide feedback and bug reports to the author on pedro.freire@outsystems.com!