Adjuntar archivo para enviar a correo oracle

1 reply [Último envío]
Offline
Joined: 04/12/2011
Puntos: 3

 Hola a todos, me presento soy un programador en pl/sql, y necesito de su ayuda, estoy haciendo un package que crea unos archivos de extencion csv en donde despues de generarlo ese archivo devo enviarlo por correo a unas direcciones de correo previamente configuradas, mi promebla es el siguiente al enviar el correo utilizando la funcion  UTL_SMTP.write_data he podido enviar el correo a mis destinatarios, pero el problema que tengo es que solo el archivo previamente creado y rellenado con datos y luego cerrado solo lo envia como cadena de texto, adjunto el procedimiento que envia el correo con en adjuntado de archivo

 

 

PROCEDURE pBeginAttachment(
      ptConn         IN OUT NOCOPY UTL_SMTP.connection,
      pvMimeType     IN VARCHAR2 DEFAULT 'text/plain',
      pbInline       IN BOOLEAN  DEFAULT TRUE,
      pvFilename     IN VARCHAR2 ,
      pvTransferEnc  IN VARCHAR2 DEFAULT NULL) 
   IS
   /*
    %desc Comienza un attachment
    %parm ptConn > conexion SMTP
    %parm pvMimeType > tipo MIME de los datos
    %parm pbInline > indica si se escribe en una sola linea
    %parm pvFilename > nombre del archivo a escribir
    %parm pvTransferEnc > ni idea que es
    %autr JCD / Juan Carlos Daille (Tecnova)
    %vers 1.0 / 10ago'11 / JCD
   */
    lfArchivo  utl_file.file_type;
      lrNombreTmp ktypes.Directorio;
      lnRutaArchivo NUMBER:=131;
      crlf         VARCHAR2(2)  := chr(13)||chr(10);
   BEGIN
--      pWriteBoundary(ptConn);
      --pWriteMimeHeader(ptConn, 'Content-Type', pvMimeType); 
 
      IF (pvFilename IS NOT NULL) THEN
         IF (pbInline) THEN
            pWriteMimeHeader( ptConn, 'Content-Disposition','inline; filename="'||pvFilename||'"');
         ELSE
            
            pWriteMimeHeader( ptConn, 'Content-Disposition','attachment; filename="'||pvFilename||'"');
         END IF;
      END IF; 
 
      IF (pvTransferEnc IS NOT NULL) THEN
         pWriteMimeHeader(ptConn, 'Content-Transfer-Encoding', pvTransferEnc);
      END IF;
     
      UTL_SMTP.write_data(ptConn,'MIME-Version: 1.0'|| crlf ||   -- Use MIME mail standard
    'Content-Type: multipart/mixed;'|| crlf ||
    ' boundary="-----SECBOUND"'|| crlf ||
    crlf ||
 
    '-------SECBOUND'|| crlf ||
    'Content-Type: text/plain;'|| crlf ||
    'Content-Transfer_Encoding: 7bit'|| crlf ||
    crlf ||
    'some message text'|| crlf ||   -- Message body
    'more message text'|| crlf ||
    crlf ||
 
    '-------SECBOUND'|| crlf ||
    'Content-Type: text/plain;'|| crlf ||
    ' name="'||pvFilename||'"'|| crlf ||
    'Content-Transfer_Encoding: 8bit'|| crlf ||
    'Content-Disposition: attachment;'|| crlf ||
    ' filename="'||pvFilename||'"'|| crlf ||
    crlf ||
    'CSV,file,attachement'|| crlf ||   -- Content of attachment
    crlf ||
 
    '-------SECBOUND--'      );   -- End MIME mail
   END pBeginAttachment;
 
en todo caso funciona el archivo de conexion al servidor, asi me llega el correo al destinatario
 
Content-Disposition: attachment; filename="inf_para_rescate_20111202.csv"

MIME-Version: 1.0

Content-Type: multipart/mixed;

 boundary="-----SECBOUND"

 

-------SECBOUND

Content-Type: text/plain;

Content-Transfer_Encoding: 7bit

 

some message text

more message text

 

-------SECBOUND

Content-Type: text/plain;

 name="excel.csv"

Content-Transfer_Encoding: 8bit

Content-Disposition: attachment;

 filename="excel.csv"

 

CSV,file,attachement

 

-------SECBOUND--Cantidad de Registros procesados 10 Nombre de Archivo:

inf_para_rescate_20111202.csv

-------7D81B75CCC90D2974F7A1CBD--

Disculpando el largo de mi post pero ya no se que hacer, de ante mano gracias.

 

Anonimo (no verificado)

Amigo alguna solucion para adjuntar el archivo al correo, y solucionar esto, actualmente tengo el mismo problema

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.

Si no estás registrado recuerda que tu comentario entrará en una cola de aprobación.

Más información sobre opciones de formato

Enviando este formulario, acepta la política de privacidad de Mollom.

 



 

  BI   |    CRM     |    CMS    |    Tendencias en software empresarial    |    Cloud computing  |    Software libre    |   Internet    |    Movilidad y apps