Here is an overview of the features provided by VMime (in its latest development version), along with the RFC/reference documents that served for the implementation.
| Feature | Reference Document | Remarks |
|---|---|---|
| Simple Messages | RFC-2822 | |
| Multipart MIME Messages | RFC-2045 RFC-2046 |
Reliable and tolerant parser (boundary guessing, Outlook compatibility…), standard-compliant generator |
| MIME Extension for non-ASCII text in headers | RFC-2047 | |
| MIME Extension for encoded parameter value | RFC-2231 | |
| Aggregate Documents (MHTML) | RFC-2557 | |
| Delivery Status Notification | RFC-3464 | Helper classes to manipulate received/sent DSN messages |
| Internationalized Email Headers | RFC-6532 | Preliminary support (not all MUAs and MSAs support it!). IDN (Internationalized Domain Name) and EAI (Email Address Internationalization) is supported by VMime |
| Attachments | Only MIME attachments are supported (automatic detection, maximum compatibility with existing MUAs) | |
| Features common to all messaging protocols | ||
| Time-out | Both time-out during connection and while sending to/receiving from the server are supported | |
| Progress Listener | Progress can be reported while fetching/sending message data | |
| IMAP Store | ||
| IMAP4rev1 support | RFC-3501 | The following features are not yet supported:
|
| SSL/TLS support | RFC-2595 | Either IMAPS or STARTTLS extension |
| IMAP Authentication | RFC-1731 | Plain authentication (LOGIN command) or SASL support |
| UIDPLUS extension | RFC-4315 | Support for APPENDUID and COPYUID |
| CHILDREN extension | RFC-3348 | Full support for \HasChildren and \HasNoChildren |
| SPECIAL-USE extension | RFC-6154 | The \Important attribute (draft) is also supported |
| POP3 Store | ||
| Standard POP3 support | RFC-1939 | All commands are supported |
| SSL/TLS support | RFC-2595 | Either POP3S or STARTTLS extension |
| POP3 Authentication | RFC-5034 | Plain authentication (USER/PASS), APOP and SASL are supported |
| SMTP Transport | ||
| Standard SMTP support | RFC-2821 | VRFY or EXPN commands are not supported yet |
| SSL/TLS support | RFC-3207 | Either SMTPS or STARTTLS extension |
| SMTP Authentication | RFC-2554 | Provided by SASL |
| PIPELINING extension | RFC-2920 | |
| CHUNKING extension | RFC-3030 | Messages can be generated and sent to the server by chunks on-the-fly |
| SMTPUTF8 extension | RFC-6531 | |
| SIZE extension | RFC-1870 | |
| DSN extension | RFC-1891 | Delivery Status Notifications |
