CREATE OR REPLACE PR OCEDURE p_send_mail ( p_sender_name IN VARCHAR2, p_sender IN VARCHAR2, p_recipient IN VARCHAR2, p_subject IN VARCHAR2, --p_cc IN VARCHAR2, p_message IN VARCHAR2) IS conn UTL_SMTP.CONNECTION; crlf VARCHAR2(2) := CHR(13) || CHR(10); -- Mandrill Login Details uname VARCHAR2(200) := 'mandrillusername@yourdomain.com'; EmailServer VARCHAR2(60) := 'smtp.mandrillapp.com'; pwd VARCHAR2(200) := 'mandrillappkey'; p_port VARCHAR2(10) := '25'; -- if you have issue use port 587 pq_message VARCHAR2(5000); -- Do Not Edit Below This Line -- This PL/SQL procedure is created and tested by Haneef Puttur , for Mandrill BEGIN conn := utl_smtp.open_connection(EmailServer, p_port); utl_smtp.ehlo(conn, EmailServer); utl_smtp.command(conn, 'AUTH LOGIN'); utl_smtp.command(conn, utl_raw.cast_to_varchar2(utl_encode.base64_encode( utl_raw.cast_to_raw(uname)))); utl_smtp.command(conn, utl_raw.cast_to_varchar2(utl_encode.base64_encode( utl_raw.cast_to_raw(pwd)))); utl_smtp.mail(conn, p_sender); utl_smtp.rcpt(conn, p_recipient); pq_message:= 'Date: '|| TO_CHAR(SYSDATE, 'DD MON RR HH24:MI:SS' )|| crlf || 'From: "' || p_sender_name || '" ' || p_sender || crlf || 'Subject: ' || p_subject || crlf || -- 'Cc: ' || p_cc || crlf || -- uncomment this line for sending cc 'Content-Type: text/html;' ||crlf || -- Comment this line if you want only plain text email 'To: '|| p_recipient || crlf|| p_message || crlf || crlf; utl_smtp.data(conn, pq_message); utl_smtp.quit(conn); EXCEPTION WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20001,SQLERRM); END ;
To Test This Procedure:
EXEC .p_send_mail(‘Haneef Puttur’,’yourname@youremail.com’,’toaddress@test.com’,’Message Subject’,’Haneef Puttur, This is test messgae.<br> I am sure that various <br>clients of <strong>Mandrill </strong>will like this.This is html test message to go’);