Mail::Message::Construct::Read(3pm) | User Contributed Perl Documentation | Mail::Message::Construct::Read(3pm) |
Mail::Message::Construct::Read - read a Mail::Message from a file handle
my $msg1 = Mail::Message->read(\*STDIN); my $msg2 = Mail::Message->read(\@lines);
When complex methods are called on a "Mail::Message" object, this package is autoloaded to support the reading of messages directly from any file handle.
Please have a look at build() and buildFromBody() before thinking about this "read" method. Use this "read" only when you have a file-handle like STDIN to parse from, or some external source of message lines. When you already have a separate set of head and body lines, then "read" is certainly not your best choice.
Some people use this method in a procmail script: the message arrives at stdin, so we only have a filehandle. In this case, you are stuck with this method. The message is preceded by a line which can be used as message separator in mbox folders. See the example how to handle that one.
This method will remove "Status" and "X-Status" fields when they appear in the source, to avoid the risk that these fields accidentally interfere with your internal administration, which may have security implications.
-Option --Default body_type undef strip_status_fields <true>
example:
my $msg1 = Mail::Message->read(\*STDIN); my $msg2 = Mail::Message->read(\@lines, log => 'PROGRESS'); $folder->addMessages($msg1, $msg2); my $msg3 = Mail::Message->read(<<MSG); Subject: hello world To: you@example.com # warning: empty line required !!! Hi, greetings! MSG # promail example my $fromline = <STDIN>; my $msg = Mail::Message->read(\*STDIN); my $coerced = $mboxfolder->addMessage($msg); $coerced->fromLine($fromline);
This module is part of Mail-Message distribution version 3.010, built on October 14, 2020. Website: http://perl.overmeer.net/CPAN/
Copyrights 2001-2020 by [Mark Overmeer <markov@cpan.org>]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/
2020-10-18 | perl v5.30.3 |