The follwing sample code uses predefined package UTL_SMTP to send mail.
This package was first available in the version 8.1.7 . -
create or replace procedure sendmail(sender varchar2,recipient varchar2,subject varchar2, text
-
-
varchar2)
-
IS
-
mailhost VARCHAR2(64) := '192.168.1.32';
-
--The name of the SMTP server host
-
port constant number(2):=25;
-
--The port number on which SMTP server is listening (usually 25).
-
timeout number :=180;
-
--The time in seconds that the UTL_SMTP package waits before giving up in a read or write
-
-
operation in this connection.
-
--In read operations, this package gives up if no data is available for reading immediately.
-
--In write operations, this package gives up if the output buffer is full and no data is to be
-
-
sent into the network without being blocked.
-
--Zero (0) indicates not to wait at all.
-
--NULL indicates to wait forever.
-
mail_conn utl_smtp.connection;
-
BEGIN
-
--dbms_output.put_line(UTL_SMTP.VRFY (mail_conn,recipient));
-
mail_conn := utl_smtp.open_connection(mailhost, port,timeout);
-
--Helo performs initial handshaking with SMTP server after connecting
-
utl_smtp.helo(mail_conn, mailhost);
-
--Mail Initiates a mail transaction with the server
-
utl_smtp.mail(mail_conn, sender);
-
--Specifies the recipient of an e-mail message
-
utl_smtp.rcpt(mail_conn, recipient);
-
-- open_data(), write_data(), and close_data() into a single call to data().
-
--Sends the DATA command
-
utl_smtp.open_data(mail_conn);
-
utl_smtp.write_data(mail_conn,'From'||':'|| Sender || UTL_TCP.CRLF);
-
utl_smtp.write_data(mail_conn,'To'||':'|| recipient || UTL_TCP.CRLF);
-
utl_smtp.write_data(mail_conn,'Subject' ||':'|| subject || UTL_TCP.CRLF);
-
--Writes a portion of the e-mail message
-
utl_smtp.write_data(mail_conn, text);
-
--Closes the data session
-
utl_smtp.close_data(mail_conn);
-
utl_smtp.quit(mail_conn);
-
--dbms_output.put_line('Your message has been sent...!');
-
EXCEPTION
-
WHEN UTL_SMTP.PERMANENT_ERROR THEN
-
BEGIN
-
utl_smtp.quit(mail_conn);
-
END;
-
RAISE_APPLICATION_ERROR(-20101,'This id has Permanent Error');
-
WHEN UTL_SMTP.TRANSIENT_ERROR THEN
-
BEGIN
-
utl_smtp.quit(mail_conn);
-
END;
-
RAISE_APPLICATION_ERROR(-20102,'SMTP transient error:');
-
WHEN UTL_SMTP.INVALID_OPERATION THEN
-
BEGIN
-
utl_smtp.quit(mail_conn);
-
END;
-
RAISE_APPLICATION_ERROR(-20103,'Invalid Operation in Mail using UTL_SMTP.');
-
WHEN OTHERS THEN
-
RAISE_APPLICATION_ERROR(-20104,'Some other Error ...!');
-
end;
-
/
-
-
To execute the above procedure try the following code. -
exec sendmail('sender@sender.com','recipient@recipient.com','Hi','Test Mail');
-
0 16114 Sign in to post your reply or Sign up for a free account.
Similar topics
by: savvy |
last post by:
i'm trying to compile a simple console application for sending a mail,
my main idea is to schedule it to a particular time for sending mails
using...
|
by: Mr. x |
last post by:
Hello,
I am sending emails with Hebrew contents.
When receiving emails - I cannot see the Hebrew characters (it is not
outlook express...
|
by: B-Dog |
last post by:
I've built a small app that sends mail through our ISP's SMTP server but
when I try to send through my local exchange server I get CDO error. Does...
|
by: Ant |
last post by:
Hi, I'm using the MailMessage & smtpMail classes in System.Web.Mail to send
mail, however it's not sending any emails.
I'm using it on a Windows...
|
by: HoustonComputerGuy |
last post by:
I am working on getting my web applications moved to .Net 2.0 and am
having some problems with System.Net.Mail. I get the following error
when...
|
by: Anuradha |
last post by:
Dear All
How can i send mails using vb.net
Thanx all
|
by: Eric Sheu |
last post by:
Greetings,
I have been searching the web like mad for a solution to my SMTP problem. I
am using Windows Server 2003 and ASP.NET 2.0 w/ C# to send...
|
by: mfleet1973 |
last post by:
Hello Again.
I have a program that sends e-mails as follows:
Try
Dim mail As New MailMessage
mail.To = "me@comp.com"
mail.From =...
|
by: Robert Dufour |
last post by:
Dim message As New MailMessage("mymail@mydomain.com", "mymail@mydomain.com",
"Test", "Test")
Dim emailClient As New SmtpClient("localhost")
...
|
by: concettolabs |
last post by:
In today's business world, businesses are increasingly turning to PowerApps to develop custom business applications. PowerApps is a powerful tool...
|
by: teenabhardwaj |
last post by:
How would one discover a valid source for learning news, comfort, and help for engineering designs? Covering through piles of books takes a lot of...
|
by: Kemmylinns12 |
last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and...
|
by: Naresh1 |
last post by:
What is WebLogic Admin Training?
WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge...
|
by: jalbright99669 |
last post by:
Am having a bit of a time with URL Rewrite. I need to incorporate http to https redirect with a reverse proxy. I have the URL Rewrite rules made...
|
by: Matthew3360 |
last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function.
Here is my code.
...
|
by: Matthew3360 |
last post by:
Hi, I have a python app that i want to be able to get variables from a php page on my webserver. My python app is on my computer. How would I make it...
|
by: AndyPSV |
last post by:
HOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and on my computerHOW CAN I CREATE AN AI with an .executable...
|
by: Arjunsri |
last post by:
I have a Redshift database that I need to use as an import data source. I have configured the DSN connection using the server, port, database, and...
| |