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: ROin 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.