Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/09/2012, 16:38
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: utl_smtp correos diciembre 1969

El paquete UTL_SMTP es de bajo nivel y requiere que en el procedimiento UTL_SMTP.DATA se deba componer el correo según la RFC821, incluyendo la fecha, por ejemplo:

Código:
declare
 smtp_cnn utl_smtp.connection;
 mesg varchar2(500);
begin
   mail_conn := utl_smtp.open_connection( 'servidor_smtp', 25);
   mesg := 'Date: ' || to_char( sysdate, 'dd-mm-yyyy') || chr(13) || chr(10) ||
           'From: <[email protected]>' || chr(13) || chr(10) ||
           'Subject: Asunto del correo'|| chr(13) || chr(10) ||
           'To: cuenta2.dominio.com' || chr(13) || chr(10) || 
            'Cuerpo del correo';
   utl_smtp.helo(smtp_cnn,  'servidor_smtp');
   utl_smtp.mail(smtp_cnn, '[email protected]');
   utl_smtp.rcpt(smtp_cnn, 'cuenta2.dominio.com');
   utl_smtp.data(smtp_cnn, mesg);
   utl_smtp.quit(smtp_cnn); 
end;
En tu caso, si no defines el valor de Date, es posible que la fecha "31 de diciembre de 1969" la ponga el servidor de correo. Por otro lado, si estás en Oracle 10.1 o superior, te recomiendo utilizar el paquete UTL_MAIL, que es de más alto nivel y amigable de programar.

Saludos