devxlogo

Code to Send E-Mails from an Oracle Stored Procedure

Code to Send E-Mails from an Oracle Stored Procedure

The following code (based on the UTL_SMTP package supplied in Oracle8i V8.1.6, release 2) enables you to receive e-mails from the database, reporting a correct ending backup, a corrupted backup, a database fail, or any message related to database admin.

First Step: Install the necessary Java classes
_____________

The typical installation automatically installs them, but if you chose a custom installation perform the following commands:

 Connect as SYS User. 		Run %ORACLE_HOME/javavm/
plsql/jlib/initjvm.sql Run %ORACLE_HOME/rdbms/
java/install/initplsj.sql

Second Step: Write the PL/SQL code
______________

Write the following PL/SQL Code:

 CREATE OR REPLACE PROCEDURE send_mail		(  sender     IN VARCHAR2,		   recipient  IN VARCHAR2,		   subject    IN VARCHAR2,		   message    IN VARCHAR2)		IS		  mailhost     VARCHAR2(30) := 
'YOUR.SMTP.SERVER'; mail_conn utl_smtp.connection; crlf VARCHAR2( 2 ):= CHR( 13 )
|| CHR( 10 ); mesg VARCHAR2( 1000 ); BEGIN mail_conn := utl_smtp.open_connection
(mailhost, 25); mesg:= 'Date: ' || TO_CHAR( SYSDATE,
'dd Mon yy hh24:mi:ss' ) || crlf || 'From: <'||sender||'>' || crlf || 'Subject: '||subject || crlf || 'To: '||recipient || crlf || '' || crlf || message; utl_smtp.helo(mail_conn, mailhost); utl_smtp.mail(mail_conn, sender); utl_smtp.rcpt(mail_conn, recipient); utl_smtp.data(mail_conn, mesg); utl_smtp.quit(mail_conn); END;

It’s ready to use. Try it from SQLPlus:

 begin send_mail('sender e-mail','dest e-mail','here 
goes subject','here goes message');end;/
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist