[PREVIOUS CHAPTER] [NEXT CHAPTER]

5 Customize Fields of the Mail Header

    5.1	Enforce the content for a header field

    SYNOPSIS:
    	&DEFINE_FIELD_FORCED('field', "field-contents");

    Enforces the value of "field" to "field-contents". where the field is
    one of fields defined in @HdrFieldsOrder.  This function sets up

    	$Envelope{'fh:field:'} = "field-contents";

    Example: set "X-ML-Info: ML Information"
    	&DEFINE_FIELD_FORCED('x-ml-info', "ML Information");

    5.2	Enforce the value of a field to one of the in-coming mail header

    SYNOPSIS:
    	&DEFINE_FIELD_ORIGINAL('field');

    enforce the value of a field to one of the in-coming mail header.  The
    field must be one of elements of @HdrFieldsOrder. This function sets
    up

    	$Envelope{'oh:field:'};

    Example: Let the value of To:, Cc:, Reply-To: be original.

    	&DEFINE_FIELD_ORIGINAL('to');
    	&DEFINE_FIELD_ORIGINAL('cc');
    	&DEFINE_FIELD_ORIGINAL('reply-to');

    5.3	Add or Remove @HdrFieldsOrder entries

    To add or remove header fields, set up @HdrFieldsOrder in config.ph.
    Also FML provides macros, &ADD_FIELD, &DELETE_FIELD, for them. To add
    a field "X-Uja" in the last of @HdrFieldsOrder,

    	&ADD_FIELD('X-Uja');

    If you always remove 'Cc:' field in distribution mail, you can set it
    up by

    	&DELETE_FIELD('Cc');

    	unshift(@HdrFieldsOrder, 'X-Some-Thing');

    5.4	COPY_FIELD

    where the field is one of fields defined in @HdrFieldsOrder.

    		&COPY_FIELD(field, new-field);
    	Example:
    		&COPY_FIELD('Sender', 'X-Sender');

[PREVIOUS CHAPTER] [NEXT CHAPTER]