utl_smtb

itx
25 de Junio del 2004
al ejecutar un procedure para mandar correo, me aparece el error
ora-29540:tcpconnection does not exist.
¿que es lo que me falta??

Muchas gracias

Ulalve®
25 de Junio del 2004
Yo tambien tenia ese mismo problema, fue porque utilice una IP equivocada del servidor de correos.

Te paso mi procedimiento, si funciona:

PROCEDURE ENVIAR_MAIL(ENVIA IN VARCHAR2 ,
RECIBE IN VARCHAR2 ,
ASUNTO IN VARCHAR2 ,
MENSAJE IN VARCHAR2,
HOST IN VARCHAR2)
IS
MAILHOST VARCHAR2(30) := LTRIM(RTRIM(HOST));
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: <'||ENVIA||'>' || CRLF ||
'SUBJECT: '||ASUNTO || CRLF ||
'TO: '||RECIBE || CRLF ||
'' || CRLF || MENSAJE;

UTL_SMTP.HELO(MAIL_CONN, MAILHOST);
UTL_SMTP.MAIL(MAIL_CONN, ENVIA);
UTL_SMTP.RCPT(MAIL_CONN, RECIBE);
UTL_SMTP.DATA(MAIL_CONN, MESG);
UTL_SMTP.QUIT(MAIL_CONN);
END;

Para ejecutarlo:

ENVIAR_MAIL(CorreoFrom, CorreoTo, Asunto, Mensaje, IP_server_correo);

Saludos