PL/SQL envoyer un email avec pièce jointe?
nous avons un tableau avec les fichiers enregistrés en tant que BLOB
J'écris un code qui e-mail ces fichiers en tant que pièces jointes!
tout fonctionne bien jusqu'à présent, mais les fichiers (EXCEL,PDF, ... ce que jamais) ne sont pas lisibles par les programmes, seulement les fichiers de texte et excel s'ouvre mais après un certain message d'erreur, où Pdf de tous de ne pas être ouvert à tous!
voici la partie du code en question!
utl_smtp.write_data( l_connection, '--'|| l_boundary || utl_tcp.crlf);
utl_smtp.write_data( l_connection, 'Content-Type: application/octet-stream' || utl_tcp.crlf);
utl_smtp.write_data( l_connection, 'Content-Disposition: attachment; filename="' || V_NAME || '"' || utl_tcp.crlf);
utl_smtp.write_data( l_connection, 'Content-Transfer-Encoding: base64' || utl_tcp.crlf );
utl_smtp.write_data( l_connection, utl_tcp.crlf );
v_length := dbms_lob.getlength(V_BLOB_CONTENT);
while v_offset < v_length loop
dbms_lob.read( V(i).BLOB_CONTENT, v_buffer_size, v_offset, v_raw );
utl_smtp.write_raw_data( l_connection, utl_encode.base64_encode(v_raw) );
utl_smtp.write_data( l_connection, utl_tcp.crlf );
v_offset := v_offset + v_buffer_size;
end loop while_loop;
utl_smtp.write_data( l_connection, utl_tcp.crlf );
des suggestions?
Vous devez vous connecter pour publier un commentaire.
voici une procédure que j'utilise pour faire
Je l'utilise pour ajouter plusieurs pièces jointes à un e-mail unique. fonctionne comme un champion pour moi.
une chose, la p_boundary est transmis en tant que
Je vois que vous avez déjà un l_boundary et qu'est ce que vous devriez utiliser.
ceci est basé sur http://christopherbeck.wordpress.com/category/plsql/ ainsi que http://www.oracle-base.com/articles/misc/EmailFromOraclePLSQL.php#attachment
.
puis dans votre code, il suffit de passer dans votre connexion smtp, le l_boundary (c'est à dire BRUT sys_guid ou ce que vous utilisez, le nom du fichier (tel qu'il apparaîtra sur la pièce jointe), et la GOUTTE.
*EDIT --> informations supplémentaires * * *
Les nôtres sont de même avec l'hypothèse d':
Mais j'ai remarqué qu'il y a un ordre à suivre pour le faire fonctionner (notamment, mettre les pièces jointes à côté de la FIN après corps!!!
Tim Hall a un super site (oracle-base de) qu'est ce que vous cherchez. Remarque en particulier la façon dont le codage est fait.
J'ai utilisé le même code pour envoyer des e-mails via pl/sql sans problème