Bonjour
Je suis à la recherche d'un exemple simple de l'envoi d'un mail avec pièce jointe en utilisant le package utl_smtp
Merci
Version imprimable
Bonjour
Je suis à la recherche d'un exemple simple de l'envoi d'un mail avec pièce jointe en utilisant le package utl_smtp
Merci
En quelle version d'Oracle êtes-vous ?
10G
Ma procédure ressemble à cela, reste à a jouter la PJ.
Merci à tous
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 DECLARE c UTL_SMTP.CONNECTION; PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS BEGIN UTL_SMTP.WRITE_DATA(c, name || ': ' || header || UTL_TCP.CRLF); END; BEGIN c := UTL_SMTP.OPEN_CONNECTION('smtp-server.acme.com'); UTL_SMTP.HELO(c, 'foo.com'); UTL_SMTP.MAIL(c, 'sender@foo.com'); UTL_SMTP.RCPT(c, 'recipient@foo.com'); UTL_SMTP.OPEN_DATA(c); send_header('From', '"Sender" <sender@foo.com>'); send_header('To', '"Recipient" <recipient@foo.com>'); send_header('Subject', 'Hello'); UTL_SMTP.WRITE_DATA(c, UTL_TCP.CRLF || 'Hello, world!'); UTL_SMTP.CLOSE_DATA(c); UTL_SMTP.QUIT(c); EXCEPTION WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN BEGIN UTL_SMTP.QUIT(c); EXCEPTION WHEN UTL_SMTP.TRANSIENT_ERROR OR UTL_SMTP.PERMANENT_ERROR THEN NULL; -- When the SMTP server is down or unavailable, we don't have -- a connection to the server. The QUIT call will raise an -- exception that we can ignore. END; raise_application_error(-20000, 'Failed to send mail due to the following error: ' || sqlerrm); END;
Si vous avez la certitude que vos pièces jointes ne vont pas dépasser 32 Ko, UTL_MAIL sera plus simple que UTL_SMTP.
Et peut-être que le travail de ce bon samaritain pourra vous être utile : http://www.myoracleportal.net/blog1..../01/plsqlemail
Malheureusement ce n'est pas le cas :)