Skip to main content

eMail Center -- What is it?

Oracle eMail Center is a comprehensive solution for managing high volumes of
inbound and outbound e-mails. Oracle eMail Center reduces the cost per email
interaction by automatically replying to certain email inquiries as well as routing
others to a skilled set of agents and providing them with a full featured console
with cross application functionality.

Oracle eMail Center increases customer satisfaction and reduces customer attrition
by providing quick, accurate and consistent responses. It also increases agent’s
efficiency through the use of a full featured, eMail Center agent console thereby
reducing agent turnover.


Oracle Email Center provides agents with the ability to create business objects such
as a service request and at the same time provides message composing/viewing
capabilities to the business users such that every email interaction is recorded and
archived.

Email Center provides its agents the ability to create a service request from within
the Message Component, while viewing and responding to an incoming email or
composing a new outbound email. The number of the service request created is
then included in the tag appended to the subject of the outbound email. If the
customer replies back, then the service request number is extracted from the tag and
the service request status is automatically updated using a pre-defined value.


Through its integration with other Oracle E-Business applications, eMail Center provides its
agents with cross-application functionality and at the same time provides a utility
called Message Component to the business applications for viewing, composing
and responding to email messages



Looking Inside:
---------------


Emails for the account are visible in Oracle Email Server (OES) but not in Email Center.

Emails are present in OM_HEADER, OM_INSTANCE for the account but emails do not get into

IEM_PRE_MDTS and IEM_POST_MDTS.

Email records in OM_INSTANCE table have a STATUS of 'Q' instead of 'U'

The postman log shows that emails are received in the account but the serverside rule/

workflow is not executed.




eMC application is dependent on the OES Postman process to deliver emails and
fire rules. It is also dependent on the OES’s IMAP process for client
connections. You can login into the OOMGR utility and use command like
'display processes;' to verify that your Postman and IMAP processes are running.




How To Trace an Email Message To The Delivery Destination Folder
----------------------------------------------------------------

The SQLPLUS commands should be run while connected to the eMail Server database
as the OO user.

1 - Send a message with a identifiable subject (something easy to remember and search for)

2 - After the messages passes ofcuto.log, check the message id in the database

select msg_id from om_header where subject like '%text%';

3- After the message is delivered by postman find the folder the message was put
into.

select folder_id from om_instance where msg_id=xxxx;

4 - now get the folder name and owner

select * from om_folder where folder_id=yyy;

5 - the column creator will have the objectid of the owner

select username from ds_person where objectid=zzzz;



The Email Center flow is as follows:

An Email Center Rule fired by the Oracle Email Server (OES) Postman process
starts processing emails from the metadata received. Here are the processing
details of the rule, referred to as 'Postman to Pre MDTS processing':

When an email arrives in Oracle Email Server to an email account that you want
to monitor, a rule gets fired and skeleton meta-data about the email
(i.e., Message ID, Size, Priority, Domain, User, etc.) is passed to the
rule-API.

o Read account information from IEM-schema where the email has arrived
o Authenticate and open a session over the database link for that account
o Call getthemes() API to extract keywords from the incoming email
o Map Intents for the keywords from the email
o Score Intent percent (%) - match using the keywords
o Create query-search-string using the keywords from intent and incoming email
o Store query-search-string in IEM_EMAIL_CLASSIFICATIONS per matched intent
o Get Header and Extended Header Data for the email
o Search for a matching customer using the 'from_email_address' header
o Insert pre-processing data into IEM_PRE_MDTS table
o Pre-Processing of email complete

Any API-related failures in the above process would cause the rule to ask the
Postman to move the message into the 'Retry' folder of the email account.

When you submit eMail Center Concurrent request, the pre-processed email
metadata will be processed further and will be made available for eMail Center
Agents.

o Pick FIFO (first-in-first-out) a mail token (metadata) from IEM_PRE_MDTS
o Classify the message as per the Classification Rules
o Move the actual email to the resulting 'Classification' folder
o Call 'Customized Workflow' Hook for any customizations to be processed
o Insert Interaction History data. Open media-item, write Pre-processing and
processing Life-cycle-segments.
o Route emails as per Routing rules
o Assign emails to the destination groups OR if routing rules do not resolve
make the email available to all groups.
o Search MES/SMS for Suggested Response Documents using the Intent-Query-search
strings for the email.
o Insert Processed mail metadata into IEM_POST_MDTS

Any API-related failures would cause the email-metadata token being rolled back
into the IEM_PRE_MDTS pre-processing schema.

Comments

Anonymous said…
Hi Mithun,

Do we have any seeded Email Center API's to convert emails and related info from 11i to R12.




Thanks,
Kumar
Mithun Ashok said…
Hi Kumar,

Sorry :(, am not aware of any API which can convert emails from 11i to R12.

Regards,
Mithun
Charlene Roberts said…
Do you know the process involved in archiving emails in EMC 11i using the Administrator responsibility and once this is done can the archived emails be searched for?

Popular posts from this blog

SQL Interview Questions on Subqueries

SUB Queries:
1. List the employees working in research department 2. List employees who are located in New York and Chicago
3. Display the department name in which ANALYSTS are working
4. Display employees who are reporting to JONES
5. Display all the employees who are reporting to Jones Manager
6. Display all the managers in SALES and ACCOUNTING department
7. Display all the employee names in Research and Sales Department who are having at least 1 person reporting to them
8. Display all employees who do not have any reportees
9. List employees who are having at least 2 reporting
10. List the department names which are having more than 5 employees
11. List department name having at-least 3 salesman
12. List employees from research and accounting having at-least 2 reporting
13. Display second max salary
14. Display 4th max salary
15. Display 5th max salary  -- Answer for nth Max Salary
Co-Related Subqueries:
16. Write a query to get 4th max salary from EMP table
17. Write a query to get 2nd…

'Linux-x86_64 Error: 28: No space left on device' While trying to start the database -- Error

SQL> startup mount pfile='/tmp/initdlfasp12.ora'
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device


This as you can see is on Linux x86 with 64 bit processor. We got this error after we changed SGA on 10gR2 database. So was sure that this is something to do with the OS.

Parameters to check for this are shmall.

shmall is the total amount of shared memory, in pages, that the system can use at one time.

$cat /proc/sys/kernel/shmmax
53687091200

$ getconf PAGE_SIZE
4096

As per Oracle SHMALL should be set to the total amount of physical RAM divided by page size.

Our system has 64GB memory, so change kernel.shmall = 1024 * 1024 * 1024 * 64 / 4096 = 16777216


Once this value is calculated you can modify Linux system configuration file directly.

$ su - root
vi /etc/sysctl.conf file:
kernel.shmall=16777216

and

# sysctl -p

Once this is done the database was started without any problem.

Answers for SUB Queries

1. SQL> select empno, ename from emp where deptno=(select deptno from dept where dname='RESEARCH');


2. SQL> select empno, ename from emp where deptno in (select deptno from dept where loc in ('NEW YORK','CHICAGO'));

3. SQL> select dname from dept where deptno in ( select deptno from emp where job ='ANALYST');

4. SQL> select empno, ename, mgr from emp where mgr = (select empno from emp where ename='JONES');

5. SQL> select empno, ename, mgr from emp where mgr = (select mgr from emp where ename='JONES')

6. SQL> select empno, ename, job from emp where deptno in ( select deptno from dept where dname in ('SALES','ACCOUNTING'))

7. SQL> select empno, ename, job from emp where deptno in ( select deptno from dept where dname in ('SALES','RESEARCH')) and empno in (select mgr from emp)

8. SQL> select empno, ename from emp where empno not in ( select mgr from emp where mgr is not null)

9. select…