Previous | Next | Contents | Index |
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(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 withPMDFdequeueInitialize
.notary_flags
NOTARY flags for this envelope recipient address as obtained from a prior call toPMDFgetRecipientFlags
.disposition
Disposition for this envelope recipient address.address
Envelope recipient address obtained fromPMDFgetRecipient
and being reported on.address_len
Length in bytes of the envelope recipient address.orig_address
Original form of the envelope recipient address obtained fromPMDFgetRecipient
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 exceedBIGALFA_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 callingPMDFgetRecipient
. 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 ofPMDFdequeueMessageEnd
for further details. The value of notary_flags should be the value obtained fromPMDFgetRecipientFlags
. 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.
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 |