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

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


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

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

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

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.


Anonymous said…
Hi Mithun,

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

Mithun Ashok said…
Hi Kumar,

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

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

Basics of RDBMS

Data Small set of information becomes data, this set of information helps make decision. Data is always some useful information. Database Place where you store the data. Database represents some aspect of the real world called "miniworld". A database is designed, built and populated with data for a specific purpose. It has intended group of users and some preconceived applications in which these users are interested. In other words, a database has some source from which data is derived, some degree of interaction with events in the real world and an audience that is actively interested in the contents of the database. Database can also be defined as collection of one or more tables. Ex: Mobile, human brain etc DBMS (Database Management System ) Is a program that stores retrieves and modifies data in the database on request. Study of different techniques of design, development and maintenance of the database Types of DBMS These types are based upon their m

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. Wri

Answers for SQL Functions

1. SQL> SELECT empno, ename FROM emp WHERE Length(ename) = 4; 2. SQL> SELECT empno, ename, job FROM emp where Length(job)=7; 3. SQL> SELECT Length('qspiders') - Length(replace('qspiders','s','')) FROM dual; 4. SQL>  SELECT empno, ename, job FROM emp WHERE Instr(job,'MAN') >0; 5. SQL> SELECT empno, ename, job FROM emp WHERE Instr(job, 'MAN') =1; 6. SQL> SELECT empno, ename, job FROM emp WHERE (Length(ename) - Length(Replace(ename, 'L',''))) = 1; 7. SQL> SELECT * FROM dept WHERE Instr(dname,'O') > 0; 8. SQL> SELECT Concat(ename,' working as a ') || Concat(job, ' earns ') || Concat(sal, '  in ') || Conc at('dept ',deptno) AS text from emp; OR SQL> SELECT Concat(Concat(Concat(Concat(Concat(Concat(Concat(ename,' working as a '), job),' earns '), sal),'  in '),'dept '), deptno) AS text FROM emp; 9. SQL