Couple of options are available in Oracle E Business, where you get use of mailing facility directly from Oracle E Business.
Many times there is similar kind of requirement wherein we need to send the output of a Concurrent Program as an attachment with an mail to a Distribution list, or just a notification by email. Lets explore some of the options :
1.Options 1 :Mail_by_Unix_script
This Options is used by use of Unix script plus some steps required in oracle apps.
1. Write a script like , emailvendor.sh
mailx -s "$3" $email_addr $1
$1 is $PROFILE$.FILENAME
$2 is $PROFILES$.USERNAME
$3 is $PROFILES$.TITLE
2.Define printer styles
3. Define a printer driver to call script in the arguments field
4. Assign printer to the print styles and the driver
5. Register the e-mail printer
6. Default your report use the e-mail printer
Example of above:
Requirement is to send a report as attachment.
Assuming Printer configration 2,5 you have done in EBS.
ux2dos $report /tmp/"$username".tmp
uuencode /tmp/"$username".tmp "$username".txt | mailx -ms "Oracle Report:
$title sent on $senddate at $sendtime" "$username"@oracleappshub.com 
rm -f /tmp"$username".tmp
2. Options 2: Report + utl_mail
You can define a host concurrrent program to send the output of the request in mail and call this concurrent program in
the "after report" trigger of your report.
So once your report completes it automatically call the host concurrent program to send the output of the report. You should
get your report concurrent program id form P_CONC_REQUEST_ID parameter and pass it to the host file to select the output file.
The bad thing is that this options has limitation of output file is less than 32kb , if this is case then you can use the following code in your after report trigger
function AfterReport return boolean is
rfile RAW (32767);
vrec VARCHAR2 (30) := 'email@example.com' ; --receiver's email id
vsender VARCHAR2 (30) := 'firstname.lastname@example.org' ; --sender's email id
vsubj VARCHAR2 (50) := 'subject'; --subject
vmesg VARCHAR2 (4000);
vmtype VARCHAR2 (30) := 'text/plain; charset=us-ascii';
vmesg := 'Please print and complete attachment'; --message
UTL_FILE.fgetattr ('CTEMP', --name of the directory
'o' || :p_conc_request_id || '.out', --name of the file
UTL_FILE.fopen ('CTEMP', 'o' || :p_conc_request_id || '.out','R');
UTL_FILE.get_raw (vinhandle, rfile, flen);
utl_mail.send_attach_raw (sender => vsender
,recipients => vrec
,subject => vsubj
,MESSAGE => vmesg
,attachment => rfile
,att_inline => FALSE
,att_filename => 'o'|| :p_conc_request_id|| '.out'
-- CTEMP is a directory with path as $APPLCSF/out or your custom out folder
3. Options 3 : Use Pl/SQL Plus FND_CONCURRENT_REQUESTS API's
In this options you write a PL/SQL procedure which will first submit the report first using FND_SUBMIT_REQUEST, get request_id, build the output location FND_CONCURRENT_REQUESTS- 'OUT_FILE' column , subimt the host concurrent program by passing parameters using FND_SUBMIT_REQUEST.
This approcah is very similar to step 1 above.
4.Options 4 : Oracle Alert
Third options is you can use the alerts functionality for your requirement.
You can either customize and use a predefined alert as your requirement is a generic one. or otherwise you can define your own alert requirement.
Use Workflow Notification mail
You have to setup workflow notification mailer and then you have to configure the complete setup for your requirement
6.Options 6 Integrating with XML Publisherâ€™s Delivery Manager
Another options would be Use of Java Delivery Manager APs (XDO).
What is the â€œDelivery Managerâ€
- A set of JAVA APIs that allow you to control the delivery of your XML Publisher documents
- Facilitates the delivery of documents through â€œChannelsâ€
- Printer Channel
- Fax Channel
- Email Channel
- Track the status of each delivery
- Redeliver documents
What is needed to integrate with Delivery Manager?
- Requires a developer with programming knowledge of JAVA and SQL
- XML Publisher v5.6.2 or higher
- BI Publisher v10.1.3.2
What are the steps to integrate with Delivery Manager?
- Step # 1 -Install and configure packages
- Step # 2 -Develop Java based classes against XML Publisher Delivery Manager API
- Step # 3 -Integrate Java classes with Oracle EBS