Features Chart

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:

 

  • Searching (SEARCH command)
  • Subscription (LSUB, SUBSCRIBE and UNSUBSCRIBE commands)
  • Custom flags
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