Skip Headers
Oracle Workflow Administrator's Guide
Release 2.6.3.5
Part Number B12160-02
|
|
|
|
|
|
|
|
|
Previous |
Next |
|
Contents |
Index |
Glossary |
Inbound Notification Mailer Processing
Notification mailers can also process e-mail responses from users, using the Internet Message Access Protocol (IMAP). A notification mailer uses a Java-based e-mail parser to interpret the text of each message and create an XML representation of it.
A notification mailer uses three folders in your response mail account for response processing: one to receive incoming messages, one to store processed messages, and one to store discarded messages.
A notification mailer does the following to process response messages:
- Logs into its IMAP e-mail account.
- Checks the inbox folder for messages. If a message exists, the notification mailer reads the message, checking for the notification ID (NID) and node identifier in the NID line.
- If the message is not a notification response, meaning it does not contain an NID line, the notification mailer moves the message to the discard folder and treats it as an unsolicited message. For the first unsolicited message from a particular e-mail address, the notification mailer also sends a warning message back to the sender of the message.
However, to avoid sending unnecessary warnings due to bounced or auto-reply messages, each mailer node stores a list of e-mail addresses from which it has received unsolicited mail, and does not send any further warning messages to those addresses. Instead, if the node receives a second unsolicited message from a particular address, the notification mailer discards the message and raises the oracle.apps.wf.mailer.unsolicited event. You can optionally define a subscription to this event if you want to perform some other action in response to the second unsolicited message. For all subsequent unsolicited messages, the notification mailer simply discards the message.
Note: Each mailer node can store up to 100 e-mail addresses in its warned list. If the node receives unsolicited messages from additional addresses when the list is already full, the notification mailer removes the oldest addresses from the list and adds the new addresses in their place. Also, the notification mailer clears the list by removing all addresses when you start the mailer for the first time, and again whenever you stop and restart its container. In these cases, the mailer may send another warning message if it receives further unsolicited e-mail from an address that is no longer on the warned list.
- If the message is a notification response, but for the wrong node, the notification mailer leaves the message in the inbox.
- If the message is a notification response for the current node, meaning it contains an NID line including the node identifier of the current node, the notification mailer processes the message.
The notification mailer performs the following steps for messages that belong to its node.
- Retrieves the notification ID.
- Checks to see if the message bounced by referring to the tags specified in the configuration parameters, if any. If the message bounced, the notification mailer reroutes it or updates the notification's status and stops any further processing, depending on the specifications of the tag list.
- Checks the Oracle Workflow database for this notification based on the NID line.
- If the notification does not exist, meaning the notification ID or the access key in the NID line is invalid, the notification mailer moves the message to the discard folder. If the NID line is incorrectly formatted, the notification mailer moves the message to the discard folder and and treats it as an unsolicited message.
- If the notification exists, but is closed or canceled, the notification mailer moves the message to the discard folder and sends a Workflow Closed Mail or Workflow Canceled Mail message to the recipient role, respectively.
- If the notification exists and is open, the notification mailer generates an XML representation of the message and places it on the standard WF_NOTIFICATION_IN agent as an event called oracle.apps.wf.notification.receive.message. The notification mailer then moves the e-mail message to the processed folder.
Note: If the character encoding of the response message is not compatible with the database codeset, the notification mailer may not be able to parse the response and recognize the response values. Ensure that the character encoding of messages in your mail client is compatible with the codeset of your database.
Finally, if there are no more unprocessed messages in the inbox, the notification mailer logs out of the e-mail account.
Oracle Workflow provides a seeded agent listener named Workflow Inbound Notifications Agent Listener that runs on the WF_NOTIFICATION_IN agent to continue notification processing for the valid response messages placed on that agent. When an event message is dequeued from WF_NOTIFICATION_IN, Oracle Workflow executes a seeded subscription that calls the appropriate notification response function. This function verifies the response values with the definition of the notification message's response attributes in the database. If a response value is invalid, or if no response value is included, the notification response function causes the notification mailer to send a Workflow Invalid Mail message to the recipient role. If the responses are valid, the notification response function records the response and completes the notification.
See: Implementing Notification Mailers
See: Managing Notification Mailers
See: Setting Up Notification Mailers
See: Outbound Notification Mailer Processing
See: Wireless Notifications
See: E-mail Notification Security
See: Workflow Warning Mail Message
See: Workflow Closed Mail Message
See: Workflow Canceled Mail Message
See: Workflow Invalid Mail Message
See: Workflow Invalid Open Mail (More Information Request) Message
Copyright © 2003, 2004, Oracle. All rights reserved.