Procédure UTL_SMTP et caractéres accentués
Bonjour ,
Je n' arrive pas à envoyer des caractéres accentués ( é,€,..)
via la procédure send_mail ci-jointe ;
Code:
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
|
CREATE OR REPLACE procedure send_mail(
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):='172.18.0.2';
v_port pls_integer:=25;
v_msg varchar2(2000);
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:='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;
/ |
il semblerait que la procédure utl_smtp ne gére que l' ascii standard .
Est-ce que l' un d' entre vous a réussi à envoyer des caractéres accentués
via cette procédure ?
cordialement