Thursday Dec 03, 2015

Support of multiple e-mail addresses for a single user or role

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 (jdoe@abc.com and jdoe@123.com) 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 => 'jdoe@abc.com, jdoe@123.com',
                                  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', 'jdoe@123.com, jdoe@abc.com', 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.

About

Search

Archives
« May 2016
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    
       
Today