Esto es lo que utilizo yo en un proceso automatico que manda correos al finalizar un proceso con el resultado ( obviamente he quitado cosas "sercretas", je je je. Pero le he probado ahora mismo tal cual y me ha rulado :
PROCEDURE correo
IS
c utl_smtp.connection;
PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS
BEGIN
utl_smtp.write_data(c, name || ': ' || header || utl_tcp.CRLF);
END;
BEGIN
c := utl_smtp.open_connection('DIRECCION DEL SERVIDOR SMTP');
utl_smtp.helo(c, 'NOMBRE DEL SERVIDOR SMTP');
utl_smtp.mail(c, '
[email protected]');-- Remitente
utl_smtp.rcpt(c, '
[email protected]');--destinatario
utl_smtp.open_data(c);
send_header('Subject', 'Te pillé, golondrino');-- Asunto
--
-- A continuacion el texto del mensaje
--
utl_smtp.write_data(c, utl_tcp.CRLF || CHR(10)||'BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA ');--MENSAJE
utl_smtp.write_data(c, utl_tcp.CRLF || '================================================= ====== '||CHR(10)||CHR(10));--MENSAJE
--
-- FIN DE : A continuacion el texto del mensaje
--
utl_smtp.close_data(c);
utl_smtp.quit(c);
END CORREO ;