CREATE OR REPLACE PROCEDURE MAIL_SENDING ( msg_from varchar2 := USER, msg_to varchar2, msg_subject varchar2 := 'E-Mail message ', msg_text varchar2 := '' ) IS c utl_tcp.connection; rc integer; rcc varchar2(4000); BEGIN c := utl_tcp.open_connection('mailhost', 25); rcc :=utl_tcp.get_line(c, TRUE); rc := utl_tcp.write_line(c, 'HELLO localhost'); rcc :=utl_tcp.get_line(c, TRUE); rc := utl_tcp.write_line(c, 'MAIL FROM: '||msg_from); rc := utl_tcp.write_line(c, 'RCPT TO: '||msg_to); rcc :=utl_tcp.get_line(c, TRUE); rc := utl_tcp.write_line(c, 'DATA'); rcc :=utl_tcp.get_line(c, TRUE); rc := utl_tcp.write_line(c, 'Subject: '||msg_subject); rc := utl_tcp.write_line(c, ''); rc := utl_tcp.write_line(c, msg_text); rc := utl_tcp.write_line(c, '.'); rc := utl_tcp.write_line(c, 'QUIT'); rcc :=utl_tcp.get_line(c, TRUE); utl_tcp.close_connection(c); EXCEPTION when others then raise_application_error( -20000, 'Unable to send e-mail message from pl/sql because of: '|| sqlerrm); END; /