Bonjour,
je suis en train de programmer une procédure en PL SQL pour pouvoir envoyer autmatiquement des emails avec l'aide du package "UTL_SMTP".

Seulement, j'ai une erreur et je ne suis pas sûr de savoir d'ou elle vient alors j'espère trouver un peu d'aide sur le forum.

Voilà ma procédure :
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
create or replace
PROCEDURE "TBD_SEND_MAIL"
AS
p_sender VARCHAR2 (255):= 'envoi@domaine.com';
p_recipient VARCHAR2 (255) := 'reception@domaine.com';
p_message VARCHAR2 (255) := 'Test'; 
l_mailhost VARCHAR2 (255) := 'adresse du serveur smtp';
l_mail_conn UTL_SMTP.connection;
BEGIN
l_mail_conn := UTL_SMTP.open_connection (l_mailhost, 587);
utl_smtp.command( l_mail_conn, 'AUTH LOGIN');
utl_smtp.command( l_mail_conn, utl_raw.cast_to_varchar2( utl_encode.base64_encode( utl_raw.cast_to_raw( 'mail denvoi' ))) );
utl_smtp.command( l_mail_conn, utl_raw.cast_to_varchar2( utl_encode.base64_encode( utl_raw.cast_to_raw( 'mot de passe' ))) );
UTL_SMTP.helo (l_mail_conn, l_mailhost);
UTL_SMTP.mail (l_mail_conn, p_sender);
UTL_SMTP.rcpt (l_mail_conn, p_recipient);
UTL_SMTP.open_data (l_mail_conn);
utl_smtp.write_data(l_mail_conn, 'Subject: Test subject line');
UTL_SMTP.write_data (l_mail_conn, p_message);
UTL_SMTP.close_data (l_mail_conn);
UTL_SMTP.quit (l_mail_conn);
END;
Et quand je l'execute, voilà l'erreur rencontrée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Erreur commençant à la ligne 1 de la commande :
execute TBD_SEND_MAIL
Rapport d''erreur :
ORA-29278: erreur passagère SMTP : 421 Service not available
ORA-06512: à "SYS.UTL_SMTP", ligne 21
ORA-06512: à "SYS.UTL_SMTP", ligne 97
ORA-06512: à "SYS.UTL_SMTP", ligne 139
ORA-06512: à "SCHEMA_GDM.TBD_SEND_MAIL", ligne 9
ORA-06512: à ligne 1
29278. 00000 -  "SMTP transient error: %s"
*Cause:    A SMTP transient error occurred.
*Action:   Correct the error and retry the SMTP operation.
Voilà où j'en suis... Je vous remercie d'avance de votre aide.