Email::Simple::FromHandle - an Email::Simple but from a handle
open my $fh, "<", "email.msg";
my $email = Email::Simple::FromHandle->new($fh);
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.
In addition to the standard Email::Simple interface, the following methods are
This returns the handle given to construct the message. If the message was
constructed with a string instead, it returns an IO::String object.
This method returns the position in the handle at which the body begins. This is
used for seeking when re-reading the body.
This method seeks the handle to the body position and resets the header-line
For unseekable handles (pipes, sockets), this will die.
$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.
$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:
- Whether or not to call "$self->reset_handle" before reading
the message (default true).
- Number of bytes to read from "$self->handle" at once (default
- 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.
Ricardo SIGNES wrote Email::Simple.
Numerous improvement, especially streamability the handling of pipes, were made
by Hans Dieter Pearcey.
Ricardo SIGNES <firstname.lastname@example.org>
This software is copyright (c) 2006 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.