in reply to Re^2: How to stop get_rfc822_body method of Net::IMAP::Client package to mark an unread email as read ?
in thread How to stop get_rfc822_body method of Net::IMAP::Client package to mark an unread email as read ?
Ah, hmm, that's unfortunate.
Maybe try again? If the author abandoned the module, though, I have no idea what the best way to proceed would be. Perhaps there is a process for taking over CPAN modules, or some kind of BCP for how to fork them.
Looking at the spec some more, the format of the data returned by FETCH ... RFC822 appears to be equivalent to that returned by FETCH ... BODY[] (p. 78), so a new function that did what you want might be as simple as this (note -- this'd go into Net::IMAP::Client, naturally, not your code):
sub peek_rfc822_body { my ($self, $msg) = @_; my $wants_many = undef; if (ref($msg) eq 'ARRAY') { $msg = join(',', @$msg); $wants_many = 1; } my ($ok, $lines) = $self->_tell_imap(FETCH => "$msg BODY.PEEK[]", +1); if ($ok) { my @ret = map { $_->[1] } @$lines; return $wants_many ? \@ret : $ret[0]; } return undef; }
But this is totally untested, and as stated above, even if it works, I've no idea what the best way of getting that into the module would be.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: How to stop get_rfc822_body method of Net::IMAP::Client package to mark an unread email as read ?
by kcott (Archbishop) on May 14, 2014 at 08:22 UTC | |
|
Re^4: How to stop get_rfc822_body method of Net::IMAP::Client package to mark an unread email as read ?
by Corion (Patriarch) on May 14, 2014 at 09:17 UTC | |
|
Re^4: How to stop get_rfc822_body method of Net::IMAP::Client package to mark an unread email as read ?
by pankaj_it09 (Scribe) on May 13, 2014 at 11:48 UTC |