bonjour,
Un problème peut être très basique, mais que je n'arrive pas à résoudre :
La procédure suivante permet d'envoyer un mail depuis Oracle, et fonctionne très bien...excepté si je spécifie plusieurs destinations (p_dest).
Une idée ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 CREATE OR REPLACE procedure send_mail_4( p_exp IN OUT varchar2, p_dest IN OUT varchar2, p_obj IN OUT varchar2, p_msg IN OUT varchar2) IS v_cnx utl_smtp.connection; v_smtp_srv varchar2(200):= 'smtp.coucou.com'; v_port pls_integer:=25; v_msg varchar2(32000); BEGIN v_cnx:=utl_smtp.open_connection(v_smtp_srv,v_port); utl_smtp.HELO(v_cnx,v_smtp_srv); utl_smtp.MAIL(v_cnx,p_exp); utl_smtp.RCPT(v_cnx,p_dest); v_msg:= 'MIME-Version: 1.0' || utl_tcp.CRLF || 'Content-type: text/html;charset="iso-8859-15";' || 'Content-Transfer-Enconding: 8bit' || utl_tcp.CRLF || 'date:'||TO_CHAR(sysdate,'dd mon yyyy hh24:mi:ss')||utl_tcp.CRLF || 'from:'||p_exp||utl_tcp.CRLF || 'subject:'||p_obj||utl_tcp.CRLF || 'to:'||p_dest||utl_tcp.CRLF || ''||utl_tcp.CRLF || p_msg||utl_tcp.CRLF||''; utl_smtp.DATA(v_cnx,v_msg); utl_smtp.quit(v_cnx); EXCEPTION WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN utl_smtp.quit(v_cnx); raise_application_error(-20000,'Erreur send_mail:'||sqlerrm); END; /
Partager