Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > S

smfi_addheader(3N)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

smfi_addheader() — adds a header to the current sendmail message

SYNOPSIS

#include <libmilter/mfapi.h> int smfi_addheader( SMFICTX *ctx, char *headerf, char *headerv );

PARAMETERS

smfi_addheader() includes the following arguments:

ctx

Specifies the opaque context structure.

headerf

Specifies the header name, which is a non-NULL, null- terminated string.

headerv

Specifies the header value to be added. headerv is a non-NULL, null-terminated string and can be an empty string.

DESCRIPTION

smfi_addheader() adds a header to the current message. smfi_addheader() can be called only from the xxfi_eom() function.

Notes

smfi_addheader() does not change existing headers of a message. To change the current value of a header, use the smfi_chgheader() routine.

A filter that calls the smfi_addheader() must set the SMFIF_ADDHDRS flag in the smfiDesc_str structure passed to the smfi_register().

For the smfi_addheader() filter, the order in which filters are placed is important. Filters placed later in the sequence will observe the changes already done by the earlier filters.

The name and the value of the header are not checked for standards compliance. However, each line of the header must be under 2048 characters. If longer headers are needed, multi-line header must be used. To make a multi-line header, insert a line feed (ASCII 0x0a, or \n in C) followed by at least one whitespace character, such as, a space (ASCII 0x20) or tab (ASCII 0x09, or \t in C). The line feed must not be preceded by a carriage return (ASCII 0x0d); the MTA adds this automatically. It is the responsibility of the filter writer to ensure that standards are not violated.

RETURN VALUE

smfi_addheader() returns MI_FAILURE due to the following reasons:

  • The headerf or headerv is NULL.

  • Adding headers in the current connection state is invalid.

  • Memory allocation failure.

  • Network error

  • SMFIF_ADDHDRS is not set when the smfi_register() routine is called.

smfi_addheader() returns MI_SUCCESS on success.

EXAMPLES

Following is an example to add a header:

int ret; SMFICTX *ctx; ... ret = smfi_addheader(ctx, "Content-Type", "multipart/mixed;\n\tboundary='foobar'");

AUTHOR

smfi_addheader() was developed by the Sendmail Inc.

SEE ALSO

smfi_chgheader(3N), smfi_insheader(3N), smfi_addrcpt(3N), smfi_delrcpt(3N), smfi_replacebody(3N).

Sendmail 8.13.3 Programmer's Guide on docs.hp.com.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.