Saturday, Apr 10 2010
By Vincent on Saturday, Apr 10 2010, 09:12 - Support
Some users fequently ask me how to connect to GMail SMTP service with VMime. You have to connect to server using SMTP protocol (not SMTPS), and set the connection.tls property to true to initiate a secured connection using STARTTLS.
The following code is known to work:
vmime::utility::url url("smtp://smtp.gmail.com");
vmime::ref tr = session->getTransport(url);
tr->setProperty("connection.tls", true);
tr->setProperty("auth.username", "gmail-login");
tr->setProperty("auth.password", "gmail-password");
tr->setProperty("options.need-authentication", true);
tr->setCertificateVerifier(yourCertificateVerifier);
Saturday, October 18 2008
By Vincent on Saturday, October 18 2008, 19:19 - Release
Hello all!
Version 0.9.0 is (finally) out, with some refactoring, API changes and bug fixes. This is an excerpt from the ChangeLog :
-
File Attachments: fixed constructor ambiguity due to implicit conversions.
Removed default values and reordered parameters (API breaking change).
Many thanks to Philipp Frenkel. More information here.
-
Text/Words: fixed incorrect white-space between words.
-
IMAP: fixed bug in modified UTF-7 encoding.
-
Implemented thread-safe reference counting for smart pointers,
whenever possible (GCC built-in functions / pthread / Win32).
-
SMTP: better parsing of ESMTP extensions.
-
Maildir: added support for "Courier" Maildir.
Wednesday, December 20 2006
By Vincent on Wednesday, December 20 2006, 14:34 - Release
Version 0.8.1 is released: a lot of bugs fixed.
-
Imbue classic "C" locale for the output of message parts and protocol commands (thanks to Mörtsell Anders).
-
Renamed 'vmime::platformDependant' to 'vmime::platform'.
The old name has been kept for compatibility with previous versions.
-
SMTP: reissue EHLO command after a successful STARTTLS negociation.
-
Word Encoder: fixed bug #1096610 which caused encoding of a
non-integral number of characters (and then, generation of
incorrectly-formed words) with multi-bytes charsets.
-
Fixed bugs in MHTML code: 'CID' prefix should not be case-sensitive; fixed detection of parts identified by a 'Content-Location'.
-
IMAP and Maildir: added vmime::net::folder::destroy() to delete folders.
-
Renamed 'byte' to 'byte_t' to fix compilation problems on Fedora core 5 (thanks to Rafael Fernandez).
-
IMAP: added a "relaxed" mode to IMAP parser to allow 8-bit characters where not
allowed by the standard (thanks to Tim Teulings for having found the bug).
-
Added service::isSecuredConnection() and service::getConnectionInfos() to retrieve information about the connection.
-
Added support for attachments of type "message/rfc822".
-
IMAP: implemented multi-fetching. Now using "FETCH x:y" instead of sending (y-x+1) "FETCH" requests.
-
POSIX sockets: use getaddrinfo() if available. This should bring thread-safe DNS resolution and IPv6 support.
-
IMAP: compatibility bugs + enhanced debugging trace.
-
Exception: fixed segfault in destructor when destroying an exception chain with more than 2 elements (thanks to Bertrand Benoit).
-
POSIX: fixed a bug in argument vector; last argument was not NULL (thanks to Bertrand Benoit).
-
Maildir: fixed problem with ':' in filename on Windows platform (thanks to Benjamin Biron).
-
Utility: fixed buffer overrun in random::getString (thanks to Benjamin Biron).
-
SMTP: fixed bug in disconnect() when authentication is not needed (thanks to Benjamin Biron).
-
Utility: gmtime() and localtime() are reentrant when using MS C runtime library (MinGW/MSVC).
Sun, November 6 2005
By Vincent on Sun, November 6 2005, 11:21 - Release
Version 0.8.0 is out, with SASL and TLS support.
The VMime Book (developer guide) is now available!
-
Refactored header field values and parameters.
-
Utility: new object charsetConverter for converting
between charsets (code moved from static functions in 'charset' class). Added charsetFilteredOutputStream provide charset conversion while
writing to an output stream.
-
Build: fixed compilation problems on FreeBSD (thanks to Xin LI).
-
Attachments: the attachmentHelper allows listing all
attachments in a message, as well as adding new attachments.
-
Utility: renamed progressionListener to progressListener.
-
Messaging: removed "server.socket-factory" property; added the
service::setSocketFactory() function instead. Removed "name" parameter
from platformDependant::getSocketFactory() function.
-
Messaging: removed "timeout.factory" property; added the function
service::setTimeoutHandlerFactory() instead. Removed the function
platformDependant::getTimeoutHandlerFactory().
-
Added TLS/SSL support, using GNU TLS library.
-
Added SASL support, based on GNU SASL library. Slightly modified
auhenticator object; see 'example6' which has been updated.
-
Utility: created 'vmime::security' and 'vmime::security::digest' namespaces.
MD5 has been moved here. Added SHA-1 hash algorithm.
-
Encoder, Content Handler: added progression notifications.
-
Tests: moved to CppUnit for unit tests framework.
-
Renamed 'vmime::messaging' to 'vmime::net'. An alias has been
kept for compatibility with previous versions (its use should be considered
as deprecated).
-
Exception: vmime::exception now inherits from std::exception.
-
Messaging folder: added a FETCH_IMPORTANCE flag to fetch the fields used
with 'misc::importanceHelper'.
-
POP3, IMAP, Maildir: fixed getMessages() when default arguments are given:
no message were returned, instead of the real message count.
-
Attachments/Message parser: added a getName() parameter to retrieve
the attachment filename either from the "filename" parameter of the "Content-Disposition" field,
or from the "name" parameter of the "Content-Type" field (if available).
-
Added reference counting and smart pointers to simplify the
use of VMime objects. Please see README.refcounting for more information.
-
Content Handler: added extractRaw() method to allow extracting
data without performing any decoding.