PMDF Programmer's Reference Manual


Previous Next Contents Index


PMDFrecipientDisposition

Specify the disposition of a dequeued recipient address.

PASCAL

status = PMDF_recipient_disposition

(dq_context, notary_flags, disposition, address, orig_address, reason)

argument information
Argument Data type Access Mechanism
dq_context context pointer read/write reference
notary_flags integer read value
disposition integer read value
address descriptor read reference
orig_address descriptor read reference
reason descriptor read reference

C

status = PMDFrecipientDisposition

(dq_context, notary_flags, disposition, address, address_len, orig_address, orig_address_len, reason, reason_len)

argument information


int PMDFrecipientDisposition(PMDF_dq        **dq_context, 
                             int              notary_flags, 
                             int              disposition, 
                             char            *address, 
                             int              address_len, 
                             char            *orig_address, 
                             int              orig_address_len, 
                             char            *reason, 
                             int              reason_len) 


Arguments

dq_context

A message dequeue context created with PMDFdequeueInitialize.

notary_flags

NOTARY flags for this envelope recipient address as obtained from a prior call to PMDFgetRecipientFlags.

disposition

Disposition for this envelope recipient address.

address

Envelope recipient address obtained from PMDFgetRecipient and being reported on.

address_len

Length in bytes of the envelope recipient address.

orig_address

Original form of the envelope recipient address obtained from PMDFgetRecipient and being reported on.

orig_address_len

Length in bytes of the original envelope recipient address.

reason

Optional text string describing the disposition of the envelope recipient address being reported on. The length of this string should not exceed BIGALFA_SIZE bytes.

reason_len

Length in bytes of reason.

Description

As part of message dequeue processing, a list of envelope recipient addresses is obtained by repeatedly calling PMDFgetRecipient. Once the disposition of each envelope recipient address is know (e.g., delivered, failed, relayed, deferred, etc.), that disposition should be conveyed back to PMDF. When the processing of the message is completed, PMDF can automatically determine how to dispose of the message, as described below. See the description of PMDFdequeueMessageEnd for further details. The value of notary_flags should be the value obtained from PMDFgetRecipientFlags. The value of disposition must be chosen from Table 1-8 and states the disposition of the envelope recipient address being reported on.

Table 1-8 Disposition Values for Use with PMDF_recipient_disposition
Symbolic name Value Description
PMDF_DISP_DEFERRED 1 Recipient address processing failed owing to a temporary problem ( e.g., network down, remote host unreachable, mailbox busy, etc.); defer processing of this address until later.
PMDF_DISP_DELIVERED 2 Recipient address successfully delivered; generate a delivery status notification if required.
PMDF_DISP_FAILED 3 Recipient address processing has failed owing to a permanent problem ( e.g., invalid recipient address, recipient over quota, etc.); no further delivery attempts should be made for this address; generate a non-delivery notification if required.
PMDF_DISP_RELAYED 4 Recipient address forwarded to another address or gatewayed into a non-NOTARY mail system; the message's NOTARY information was, however, preserved; there is no need to generate a "relayed" notification message.
PMDF_DISP_RELAYED_FOREIGN 5 Recipient address forwarded to another address or gatewayed to a non-NOTARY mail system; the message's NOTARY information was not preseved; generate a "relayed" notification message if required.
PMDF_DISP_RETURN 6 For this recipient, return the message as undeliverable; generate a non-delivery notification if required.


Return Values

PMDF__OK Normal, successful completion.
PMDF__BAD Illegal value specified for disposition. Disposition not set.
PMDF__BADCONTEXT Illegal or corrupt context, dq_context. Disposition not set.
PMDF__INVSTRDES Invalid string descriptor for address, orig_address, or reason: one or more of the descriptors has an invalid value in its DSC$B_CLASS field. Disposition not set.
PMDF__STRTRUERR One or both of the address or orig_address strings exceeds the maximum permitted length. Disposition not set.


Previous Next Contents Index