
=head1 NAME

HTML::FromMail::Field - output a header field as HTML


=head1 INHERITANCE

 HTML::FromMail::Field
   is a HTML::FromMail::Page
   is a HTML::FromMail::Object
   is a Mail::Reporter


=head1 SYNOPSIS



=head1 DESCRIPTION




=head1 METHODS


$obj-E<gt>B<addressField>(FIELD, HOW, ARGS)

=over 4

Produce text for a header field containing addresses.  HOW this is done
is defining the result.  Possible values are C<'ADDRESS'>, C<'PHRASE'>,
C<'PLAIN'>, C<'MAILTO'>, or C<'LINK'>.  See L</address HOW> for details.

=back

$obj-E<gt>B<fromHead>(HEAD, NAME, ARGS)

=over 4

Returns the fields from the header with NAME.  Some fields appear more
than once, some may not be present.

=back

$obj-E<gt>B<htmlAddresses>(FIELD, ARGS)

=over 4

Returns an array with address info.

=back

$obj-E<gt>B<htmlBody>(ARGS)

=over 4

Produce the body of the field: everything after the first colon on the
header line.

 Option   Defined in       Default    
 address                   C<'MAILTO'>
 content                   <depends>  
 wrap                      C<78>      

. address ADDRESS|PHRASE|PLAIN|MAILTO|LINK

=over 4

See L</address HOW>

=back

. content FOLDED|REFOLD|UNFOLDED|DECODED

=over 4

How to included the body of the field.  If a C<wrap> is defined, then
REFOLD is taken as default, otherwise DECODED is the default. See
L</content HOW>

=back

. wrap INTEGER

=over 4

In combination with C<content REFOLD>, it specifies the maximum number
of characters requested per line.  See L</wrap INTEGER>.

=back

=back

$obj-E<gt>B<htmlName>(ARGS)

=over 4

Returns the name of the header field.

 Option    Defined in  Default    
 capitals              'UNCHANGED'

. capitals 'UNCHANGED'|'WELLFORMED'

=over 4

Overrules the default from L<new(settings)|HTML::FromMail::Object/"METHODS"> C<names>.
See L</names HOW>.

=back

=back

$obj-E<gt>B<lookup>(LABEL, ARGS)

=over 4

See L<HTML::FromMail::Page/"METHODS">

=back

HTML::FromMail::Field-E<gt>B<new>(OPTIONS)

=over 4

 Option    Defined in       Default   
 settings  L<HTML::FromMail::Object>  {}        
 topic     L<HTML::FromMail::Object>  C<'field'>

. settings HASH-OF-HASHES

. topic STRING

=back

=head2 Attributes


$obj-E<gt>B<settings>([TOPIC])

=over 4

See L<HTML::FromMail::Object/"Attributes">

=back

$obj-E<gt>B<topic>

=over 4

See L<HTML::FromMail::Object/"Attributes">

=back

=head2 Export


=head2 Other methods


$obj-E<gt>B<plain2html>(STRING)

=over 4

See L<HTML::FromMail::Object/"Other methods">

=back




=head1 DETAILS


=head2 Settings

You can specify the following settings in L<HTML::FromMail::new(settings)|HTML::FromMail/"Constructors">
for topic C<field>:

=head3 address HOW

Some fields are pre-defined to contain e-mail addresses.  In many web-based
clients, you see that these addresses are bluntly linked to, but you here
have a choice.  As example, the header field contains the address
 "My Name" E<lt>me@example.comE<gt>
 you@example.com


The possible settings for this parameter are

=over 4
=item * C<'PLAIN'>
Show the address as was specified in the message header, without smart
processing.
 "My Name" E<lt>me@example.com E<gt>
 you@example.com

=item * C<'PHRASE'>

According to the standards, the phrase is ment to represent the user
in an understandable way.  Usually this is the full name of the user.
No link is made.
 My Name
 you@example.com

=item * C<'ADDRESS'>

Only show the address of the users.
 my@example.com
 you@example.com

=item * C<'MAILTO'>

Create a link behind the phrase.  In case there is no phrase, the
address itself is displayed.  This is the most convenient link, if
you decide to create a link.
 E<lt>a href="mailto:me@example.com"E<gt>My Name E<lt>/a E<gt>
 E<lt>a href="mailto:you@example.com"E<gt>you@example.com E<lt>/a E<gt>

=item * C<'LINK'>

Often seen, but more for simplicity of implementation is the link
under the address.  The C<'MAILTO'> is probably easier to understand.
 "My Name" E<lt>a href="mailto:me@example.com"E<gt>me@example.com E<lt>/a E<gt>

 E<lt>a href="mailto:you@example.com"E<gt>you@example.com E<lt>/a E<gt>
=back

=head3 content HOW

Defined HOW field bodies are handled, by default UNFOLDED.

Valid values are

=over 4
=item  C<'FOLDED'>
Included the content FOLDED as found in the source message.  This is the
fastest choice, and usually in a preformatted html block, otherwise the

folding will be lost again.
=item C<'REFOLD'>
Do not accept the folding as found in the message headers, but force it

into the wrap which is defined by C<wrap>.
=item C<'UNFOLDED'>
All line folding is removed from the field.  This useful when the field body

is displayed in a proportional font.
=item C<'DECODED'>
Fields may be character-set encoded.  Decoding these fields is nicest,

but consumes considerable time.
=back

=head3 names HOW

Defines HOW field names are displayed: either C<'WELLFORMED'> or
C<'UNCHANGED'>.  Field names have a certain capitization (as
defined by the message), but this may be different from the preferred use
of capitals.  The correct use of capitals is implemented by
Mail::Message::Field subroutine wellformedName and will be used when WELLFORMED
is selected.  By default, the names are displayed UNCHANGED.

I<Example:> using L<HTML::FromMail::Format::Magic|HTML::FromMail::Format::Magic>


  <!--{name capitals => WELLFORMED}-->

=head3 wrap INTEGER

Used in combination with C<content REFOLD>, to specify how many characters
are requested per line.





=head1 REFERENCES

See the HTML::FromMail website at L<http://perl.overmeer.net/html-from-mail/> for more details.

=head1 COPYRIGHTS

Module version 0.01.
Written by Mark Overmeer (mark@overmeer.net).  See the ChangeLog for
other contributors.

Copyright (c) 2003 by the author(s). All rights reserved.  This program
is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.


