Handle Messages with Mail::Internet
Mail::Internet implements a number of helpful
functions for manipulating a mail message. These include body
, print_header
, and head
. Mail::Internet is built on top of
Mail::Header, which parses the header of an email message, and it
inherits the Mail::Header constructor style that requires that a
file descriptor or reference to an array be used. For
example:
@lines = <STDIN>; $mi_obj = new Mail::Internet([@lines]);
reads a mail message from STDIN (using a reference to an array). The following example reads a mail message from a filehandle, FILE:
open(FILE, "/home/nvp/Mail/nvp"); $mi_obj = new Mail::Internet(\*FILE); close(FILE);
The print_header
function
outputs the header of a message to a file descriptor; the default is
STDOUT:
open(FILE, "/home/nvp/Mail/nvp"); $mi_obj = new Mail::Internet(\*FILE); close(FILE); $mi_obj->print_header(\*STDOUT);
The above example might output:
From nvp Mon Jun 9 00:11:10 1997 Received: (from nvp@localhost) by mail.somename.com (8.8/8.8) id AAA03248 for nvp; Mon, 9 Jun 1997 00:11:09 -0500 (EST) Date: Mon, 9 Jun 1997 00:11:09 -0500 (EST) From: "Nathan V. Patwardhan" <nvp> Message-Id: <199706090511.AAA03248@mail.somename.com> To: nvp Subject: pop test X-Status: X-Uid: 1 Status: RO
in which print_body
also
takes a file descriptor as an argument, but outputs only the body of
the message, whereas the print
function outputs an entire message.
Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.