Sun Java System Messaging Server 6 2005Q4 MTA Developer's Reference

Delivery Processing Options (Envelope Fields)

A variety of delivery processing options may be set through the MTA SDK. These options are then stored in the message’s envelope and are generically referred to as “envelope fields.” Options which pertain to the message as a whole are set with mtaEnqueueStart(). Options which pertain to a specific recipient of the message are set with mtaEnqueueTo(). These options, per message and per recipient, include the following:

Delivery flags 

These flags are used to communicate information between channels. For instance, a scanning channel might set the flag to indicate suspected spam content. A delivery channel could then see that the flag is set and, at delivery time, add a header line indicating potential spam content. These flags may also be set using the deliveryflags channel keyword.

Notification flags 

These flags influence whether delivery or non-delivery notification messages are generated. They can be set on a per recipient basis. Typically, they are used to request a delivery receipt. Another common usage is for bulk mail to request no notifications, neither delivery nor non-delivery. 

Original recipient address 

This field is specified on a per recipient basis. It is used to indicate the original form of the associated recipient’s address. This original address can then be used in any notification messages. Its use allows the recipient of the notification to see the original address they specified rather than its evolved form. For example, the recipient would see the name of the mailing list they posted to rather than the failed address of some member of the list. 

Envelope ID 

Set on a per message basis, this is an RFC 1891 envelope ID and can appear in RFC 1892 - 1894 conformant notifications about the message. 

Fragmentation size 

Set on a per message basis, this controls if and when the message is fragmented into smaller messages using the MIME message/partial mechanism.

For additional information, see the descriptions of mtaEnqueueStart(), and mtaEnqueueTo().