By Alejandro Sosa-Oracle on Dec 03, 2015
In Oracle EBS 12.0 and 12.1 the Workflow notification system was not enabled to send e-mail notifications to users or roles who happened to have multiple e-mail addresses associated to them. For instance, if user JDOE had two e-mail addresses (email@example.com and firstname.lastname@example.org) only one of them could be associated to the user for the Workflow notification mailer to send any e-mail notifications.
This limitation has been lifted in EBS 12.2.5 and now both users and roles can define multiple e-mail addresses as needed. This means that still a notification is intended for one recipient but the same notification will be sent to all associated e-mail addresses.
Note: The limit size of the table column holding the list of e-mail addresses is 320 so bear this limitation in mind. This should not be an issue as it is not common to see a single user with as many e-mail addresses so as to pass this limit. Consider the use of a role and multiple users associated to that role if this limit is still an issue.
Defining multiple e-mail addresses for a user or role
- If the target role is an FND user then this setting takes place in the corresponding user definition form:
- If the target is an ad-hoc role or ad-hoc user the assignment takes place when the user or role is being created. For instance:
WF_DIRECTORY.CreateAdHocUser(name => 'ADHOC-USER', display_name => 'ADHOC-USER', notification_preference => 'MAILHTML', email_address => 'email@example.com, firstname.lastname@example.org', expiration_date => SYSDATE+1);
- If the user or role is created from code, the setting will look like:
... l_params wf_parameter_list_t; begin WF_EVENT.AddParameterToList('USER_NAME', 'JDOE', l_params); WF_EVENT.AddParameterToList('MAIL', 'email@example.com, firstname.lastname@example.org', l_params); WF_LOCAL_SYNCH.propagate_user(p_orig_system => 'FND_USR', p_orig_system_id => 123435, p_attributes => l_params);
Notification action history
When the Notification Mailer receives the e-mail response the from e-mail address is compared against the list of addresses corresponding to the target of the notification recipient. If there is a match the responder is set to the value of the recipient. If no matches are found then one of two actions will happen:
- If the Notification Mailer Parameter Allow Forwarded Response is set to Yes the responder of the notification is set to the value of the from e-mail address, or
- If not, such e-mail response is treated as an unsolicited e-mail: the notification is not processed and a message is sent to the sender indicating so.
What happens with invalid addresses?
In the event that a user or role was created using invalid e-mail addresses - subsequently causing the SMTP server to fail to deliver e-mail to them - the following takes place:
- If the notification is successfully delivered to at least one e-mail address mail status of the notification is set to SENT and the invalid addresses are added to the in-memory list of invalid addresses so that they are not attempted further on.
- If all of them are invalid the notification mail status is set to FAILED and the user/role notification preference is set to DISABLED
In both cases a notification is sent to the user SYSADMIN indicating that a user/role contains invalid addresses and require fix.