See METHODS in Mail::Reporter
The constructor of this object does not follow the usual practise within the Mail::Box suite: it does not use the constructor Mail::Reporter::new(). Therefor it has no logging or tracing facilities.
The method can be used in one of the following ways:
Pass a LINE as it could be found in a file: a (possibly folded) line which is terminated by a new-line.
A set of values which shape the line.
Create a new header field object. Specify the whole LINE at once, and it will be split-up for you. I case you already have the parts of the header line, you may specify them separately as NAME and BODY.
In case you specify a single OBJECT, or a reference to an array of
OBJECTS, these objects are processed to become suitable to fill a
field, usually by simple strification. When you specify one or more
Mail::Address objects, these are transformed into a string using
their format
method. You may also add one Mail::Message::Field,
whose body is taken. In case of an array, the elements are joined into
one string with a comma.
ATTRIBUTES can be exactly one string which may contain multiple attributes at once, quoted and formatted as required in RFC2822. As alternative, list of key-value pairs can be used. In this case, the values will get quoted if needed and everything formatted as the protocol demands.
Option | Defined in | Default |
---|---|---|
log | Mail::Reporter | <disabled> |
trace | Mail::Reporter | <disabled> |
my $mime = Mail::Message::Field->new( 'Content-Type: text/plain; charset=US-ASCII'); my $mime = Mail::Message::Field->new( 'Content-Type' => 'text/plain; charset=US-ASCII'); my $mime = Mail::Message::Field->new( 'Content-Type' => 'text/plain', 'charset=US-ASCII'); my $mime = Mail::Message::Field->new( 'Content-Type' => 'text/plain', charset => 'Latin1'); my $mime = Mail::Message::Field->new( To => Mail::Address->new('My', 'me@example.com'); my $mime = Mail::Message::Field->new( Cc => [ Mail::Address->new('You', 'you@example.com') , Mail::Address->new('His', 'he@example.com') ]);
But in practice, you can simply call
my $head = Mail::Message::Head->new; $head->add( 'Content-Type' => 'text/plain' , charset => 'utf8');
which implicitly calls this constructor (when needed). You can specify
the same things for Mail::Message::Head::Complete::add() as this
new
accepts.