Specify the disposition of a dequeued recipient address.
argument informationstatus = PMDF_recipient_disposition
(dq_context, notary_flags, disposition, address, orig_address, reason)
| 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 |
argument informationstatus = PMDFrecipientDisposition
(dq_context, notary_flags, disposition, address, address_len, orig_address, orig_address_len, reason, reason_len)
int PMDFrecipientDisposition (
dq_context, notary_flags, disposition, address,
address_len, orig_address, orig_address_len,
reason, reason_len)
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;
dq_context
A message dequeue context created with PMDF_dequeue_initialize.notary_flags
NOTARY flags for this envelope recipient address as obtained from a prior call to PMDF_get_recipient_flags.disposition
Disposition for this envelope recipient address.address
Envelope recipient address obtained from PMDF_get_recipient 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 PMDF_get_recipient 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.
As part of message dequeue processing, a list of envelope recipient addresses is obtained by repeatedly calling PMDF_get_recipient. 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 PMDF_dequeue_message_end for further details. The value of notary_flags should be the value obtained from PMDF_get_recipient_flags. The value of disposition must be chosen from Table 1-8 and states the disposition of the envelope recipient address being reported on.Return Values
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.
| 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. |