Ricardo SIGNES > Email-Simple-FromHandle-0.052 > Email::Simple::FromHandle

Download:
Email-Simple-FromHandle-0.052.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.052   Source   Latest Release: Email-Simple-FromHandle-0.054

NAME ^

Email::Simple::FromHandle - an Email::Simple but from a handle

VERSION ^

version 0.052

SYNOPSIS ^

  use Email::Simple::FileHandle;

  open my $fh, "<", "email.msg";

  my $email = Email::Simple::FromHandle->new($fh);

  print $email->as_string;
  # or
  $email->stream_to(\*STDOUT);

DESCRIPTION ^

This is a subclass of Email::Simple which can accept filehandles as the source of an email. It will keep a reference to the filehandle and read from it when it needs to access the body. It does not load the entire body into memory and keep it there.

METHODS ^

In addition to the standard Email::Simple interface, the following methods are provided:

handle

This returns the handle given to construct the message. If the message was constructed with a string instead, it returns an IO::String object.

body_pos

This method returns the position in the handle at which the body begins. This is used for seeking when re-reading the body.

reset_handle

This method seeks the handle to the body position and resets the header-line iterator.

For unseekable handles (pipes, sockets), this will die.

getline

  $str = $email->getline;

This method returns either the next line from the headers or the next line from the underlying filehandle. It only returns a single line, regardless of context. Returns undef on EOF.

stream_to

  $email->stream_to($fh, [ \%arg ]);

This method efficiently writes the message to the passed-in filehandle.

The second argument may be a hashref of options:

reset_handle:

Whether or not to call $self->reset_handle before reading the message (default true).

chunk_size:

Number of bytes to read from $self->handle at once (default 65536).

write:

Coderef to use to print instead of print $fh $chunk. This coderef will receive two arguments, the 'filehandle' (which need not be a real filehandle at all) and the current chunk of data.

PERL EMAIL PROJECT ^

This module is maintained by the Perl Email Project.

http://emailproject.perl.org/wiki/Email::Simple::FromHandle

AUTHORS ^

Ricardo SIGNES wrote Email::Simple.

Numerous improvement, especially streamability the handling of pipes, were made by Hans Dieter Pearcey.

COPYRIGHT AND LICENSE ^

This code is copyright Ricardo SIGNES, 2006. It is free software, released with the same licenses as Perl itself.

syntax highlighting: