Mail-IMAPClient

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	- Parse::RecDescent is required, and the grammars are pre-parsed
	  in the distribution.  This makes the whole installation process
	  a lot easier.

	- Update Todo, and many other texts.

	- added pod tester in t/pod.t

	- cleaned-up the rt.cpan.org bug-list from spam.  The next
	  release will contain fixes for the real reports.

Changes in version 2.2.9
------------------------
Fixed problem in migrate that caused problems in versions of perl earlier
than 5.6.  Thanks go to Steven Roberts for reporting the problem and
identifying its cause.

Fixed problem in the make process that caused tests for BodyStructure
subclass to fail if the grammer had been compiled under a different
version of Parse::RecDescent. This problem was detected by the dedicated
people at testers@cpan.org.

Fixed a compatibility problem using Parse::RecDescent version 1.94.
This caused BodyStructure and Thread to fail for 5.8.x users. A number of
people reported this bug to CPAN but it took me a while to realize what
was going on. Really it took me a while to realize my Parse::RecDescent
was out of date. ;-) Now this module is delivered with two versions of
each of the affected grammars and Makefile.PL determines which version
to use.  Upgrading to Parse::RecDescent 1.94 will require you to re-run
Makefile.PL and reinstall Mail::IMAPClient.

Changes in version 2.2.8
------------------------
Change the login method so that it always send password as a literal
to get around problem 2544 reported by Phil Tracy which caused
passwords containing asterisks to fail on some systems (but not any of
mine...). Good catch, Phil.

Added a new example that demonstrates the use of imtest (a utility
that comes with Cyrus IMAP) and Mail::IMAPClient together. The
example uses imtest to do secure authentication and then "passes" the
connection over to Mail::IMAPClient (but imtest is still brokering
the encryption/decryption). This example comes from an idea of
Tara L. Andrews', whose brainstorm it was to use imtest to broker
secure connections.  (But I still want to get encryption working with
Mail::IMAPClient some day!)

Fixed an error in which a "+" was used as a conncatenation error instead
of a ".".  Thanks to Andrew Bramble for reporting this, even though he
mistakenly identified it as a "typo". It is not a typo; a plus sign is the
correct concatenation operator, as any decent Java book will tell you ;-)

Fixed an error in the login method when the password contains a special
character (such as an asterisk.) Thanks to Phil Tracey for reporting
this bug.

Fixed some bugs in _send_line (the "O" side of the I/O engine) that were
reported by Danny Smith.

Fixed a bug in the migrate method in the optimization code (which 
gets called when socket writes are delayed due to a slow or busy target 
host, aka EAGAIN errors). Thanks to Pedro Carvalho for identifying 
this bug and its cause.

Fixed a bug in migrate that caused migration of unread messages to fail. 
This was due to the way Mail::IMAPClient's migrate method would try to send 
an empty list of flags to the target server in the APPEND. Thanks to 
Stephen Fralich at Syracuse University and for reporting this bug. 

Fixed another bug in the migrate method that caused flags to get lost. Thanks
go to Jean-Michel Besnard for reporting this.

Fixed a bug in migrate that caused
Fixed a bug in get_envelope that caused it to fail under certain conditions.
Thanks go to Bob Brown for reporting this bug.


Changes in version 2.2.7
------------------------

Added some new parameters to support alternate authentication mechanisms:

	Prewritemethod
      	Readmethod 

Mail::IMAPClient has supported cram-md5 authentication "out of the box"
as of 2.2.6 (courtesy of Ville Skyttä). I also have digest-md5 working
in my lab with quality of protection levels "auth" and "integrity", but
not "confidentiality". I'm hoping to get the confidentiality part working
soon but so far have only managed to authenticate, send an encrypted command, 
and receive and decrypt the response. This may sound like enough but I can't 
seem to send a second command or receive a second response;-( In any event 
2.2.8 will support at least qop=auth and qop=auth-int but maybe not 
qop=auth-conf.

Fixed a bug reported by Adrian that caused get_bodystructure to
fail if the server returned a bodystructure with an embedded 
literal. Also fixed the same bug in get_envelope, so I guess now
everyone knows that get_envelope was just a tinkered-with copy of
get_bodystructure... 

Fixed two related bugs in Parser.pm that caused
get_bodystructure and get_envelope to fail if the
UID nnnnn part of a fetch response follows all the
other stuff.  Thanks to Raphaël Langella for reporting this bug.

Enhanced several methods to use MessageSets when the
Ranges parameter is true. There are still more methods that
need to be retrofitted to take advantage of the Range method
(and its underlying MessageSet object). In the meantime, if you 
need to get the functionality of the shorter message ranges provided
by the Range method from a method that does not honor the Ranges
parameter, then you should a) create a message set by passing the 
messages to the Range method and then pass the scalar as a string
to the method you want to use. For example, if you want to move 
a whole lot of messages to Trash, do something like this:
>
>my $range = $imap->Range(scalar($imap->search("SentBefore", "01-Jan-2000"))); 
>$imap->move("Trash","$range");
>
This will cause the range object to stringify out to what looks like



( run in 0.780 second using v1.01-cache-2.11-cpan-39bf76dae61 )