Mail::Internet - manipulate Internet format (RFC 822) mail messages
use Mail::Internet;
This package provides a class object which can be used for reading, creating, manipulating and writing a message with RFC822 compliant headers.
ARG is optiona and may be either a file descriptor (reference to a GLOB) or a
reference to an array. If given the new object will be initialized with
headers and body either from the array of read from the file descriptor.
OPTIONS is a list of options given in the form of key-value pairs, just like a hash
table. Valid options are
The value of this option should be a Mail::Header object. If given then
Mail::Internet will not attempt to read a mail header from ARG, if it was specified.
The value of this option should be a reference to an array which contains
the lines for the body of the message. Each line should be terminated with
\n (LF). If Body is given then Mail::Internet will not attempt to read the body from ARG (even if it is specified).
The Mail::Header options Modify, MailFrom and FoldLength may also be given.
Returns the body of the message. This is a reference to an array. Each entry in the array represents a single line in the message.
Print the header, body or whole message to file descriptor FILEHANDLE. $fd should be a reference to a GLOB. If FILEHANDLE is not given the output will be sent to STDOUT.
$mail->print( \*STDOUT ); # Print message to STDOUT
Returns the message as a single string.
Returns the message as a string in mbox format. ALREADY_ESCAPED, if given and true, indicates that ->escape_from has already been
called on this object.
Returns the Mail::Header object which holds the headers for the current message
The following methods are more a utility type than a manipulation type of method.
Attempts to remove a users signature from the body of a message. It does
this by looking for a line equal to '-- ' within the last NLINES of the message. If found then that line and all lines after it will be
removed. If
NLINES is not given a default value of 10 will be used. This would be of most use
in auto-reply scripts.
Removes all leading and trailing lines from the body that only contain white spaces.
Create a new object with header initialised for a reply to the current object. And the body will be a copy of the current message indented.
Append a signature to the message. FILE is a file which contains the signature, if not given then the file ``$ENV{HOME}/.signature'' will be checked for.
Send a Mail::Internet message via SMTP, requires Net::SMTP
The return value will be a list of email addresses that the message was sent to. If the message was not sent the list will be empty.
Options are passed as key-value pairs. Current options are
Name of the SMTP server to connect to, or a Net::SMTP object to use
If Host is not given then the SMTP host is found by attempting connections first to
hosts specified in $ENV{SMTPHOSTS}, a colon separated list, then mailhost and localhost.
Send the email to the given addresses, each can be either a string or a reference to a list of email addresses. If none of To, <Cc> or Bcc are given then the addresses are extracted from the message being sent.
Post an article via NNTP, requires Net::NNTP.
Options are passed as key-value pairs. Current options are
Name of NNTP server to connect to, or a Net::NNTP object to use.
Port number to connect to on remote host
Debug value to pass to Net::NNTP, see <Net::NNTP>
It can cause problems with some applications if a message contains a line
starting with `From ', in particular when attempting to split a folder. This method inserts a
leading `'> on anyline that matches the regular expression /^*From/>
This method will remove the escaping added by escape_from
Graham Barr <gbarr@pobox.com>
Copyright (c) 1995-7 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.