Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/04/2006, 08h59   #1
Membre du Club
 
Inscription : mars 2003
Messages : 185
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 185
Points : 54
Points : 54
Par défaut Mail en PL/SQL

Bonjour

Je souhaiterais savoir s'il est possible d'envoyer des mails en PL-SQL ?
Faut il un package spécial ?

Merci beaucoup pour vos informations
Cordialement
Kilian
kilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 09h23   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
C'est possible en utilisant le package UTL_STMP. Voir: http://jaouad.developpez.com/mail/
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 09h48   #3
Membre du Club
 
Inscription : mars 2003
Messages : 185
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 185
Points : 54
Points : 54
Merci beaucoup pour ce tutorial.
je suis newbies et j'aurais une derniere question à vous posez. Est il possible de savoir si le package SMTP est deja installé ou non sur le serveur ?

Merci
kilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 09h51   #4
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Code :
1
2
3
SELECT STATUS, owner, created
FROM dba_objects 
WHERE object_name='UTL_SMTP'
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 10h23   #5
Membre du Club
 
Inscription : mars 2003
Messages : 185
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 185
Points : 54
Points : 54
Ok parfait je vois que le package est bien installé maintenant je vais effectuer les test pour l'envoie de mail
kilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 10h35   #6
Membre du Club
 
Inscription : mars 2003
Messages : 185
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 185
Points : 54
Points : 54
Je m'excuse vraiment de vous deranger mais en tester cela :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
begin
 
UTL_MAIL.send(
 
sender => 'user1@domaine.fr',
 
 recipients => 'user2@domaine.fr',
 
 cc => NULL,
 
 bcc => NULL,
 
 subject => 'test',
 
 message => 'texte',
 
 );
 
 end;
j'obtiens cela :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 );
 *
ERREUR à la ligne 17 :
ORA-06550: Ligne 17, colonne 2 :
PLS-00103: Symbole ")" rencontré à la place d'un des symboles suivants :
( - + case mod new not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall merge time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
Symbole "null" a été substitué à ")" pour continuer.
Avez vous une idée de cette erreur ?

Meric bcp
kilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 10h43   #7
Membre confirmé
 
Homme Alain
Inscription : mars 2004
Messages : 249
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 43
Localisation : France

Informations forums :
Inscription : mars 2004
Messages : 249
Points : 216
Points : 216
Il n'y a pas une virgule en trop apres le dernier parametre ?
Alain B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 10h51   #8
Membre du Club
 
Inscription : mars 2003
Messages : 185
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 185
Points : 54
Points : 54
En ayant supprimer la virgule :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
begin 
 
UTL_MAIL.send(
 
 sender => 'user1@.domaine.fr', 
 
 recipients => 'user1@.domaine.fr', 
 
 cc => NULL, 
 
 bcc => NULL, 
 
 subject => 'test', 
 
 message => 'texte' 
 
 ); 
 
 end;
J'obtiens une erreur de declacration :

Code :
1
2
3
4
5
6
7
8
 
UTL_MAIL.send(
*
ERREUR à la ligne 3 :
ORA-06550: Ligne 3, colonne 1 :
PLS-00201: l'identificateur 'UTL_MAIL.SEND' doit être déclaré
ORA-06550: Ligne 3, colonne 1 :
PL/SQL: Statement ignored
Faut il déclarer UTL_MAIL.send ?
kilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 11h09   #9
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Vous n'avez pas les droits sur le package UTL_MAIL

Connecté avec le compte sys faites (pour donner les droits à tous les user oracle d'utiliser ce package) :
Code :
GRANT execute ON  utl_mail TO public;
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 11h14   #10
Membre du Club
 
Inscription : mars 2003
Messages : 185
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 185
Points : 54
Points : 54
Pourtant lorsque j'execute la requete :

Code :
1
2
3
4
 
SELECT STATUS, owner, created 
FROM dba_objects 
WHERE object_name='UTL_SMTP';
j'obtiens cela :

Code :
1
2
3
4
5
6
7
8
 
STATUS  OWNER                          CREATED
------- ------------------------------ --------
VALID   SYS                            12/05/02
VALID   SYS                            12/05/02
VALID   PUBLIC                         12/05/02
 
3 ligne(s) sélectionnée(s).
Donc d'apres ce que je vois PUBLIC a les droits ou bien ?

( je m'excuse pour toutes mes questions )

Merci à vous
kilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 11h26   #11
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Citation:
Envoyé par kilian
Pourtant lorsque j'execute la requete :

Code :
1
2
3
4
 
SELECT STATUS, owner, created 
FROM dba_objects 
WHERE object_name='UTL_SMTP';
j'obtiens cela :

Code :
1
2
3
4
5
6
7
8
 
STATUS  OWNER                          CREATED
------- ------------------------------ --------
VALID   SYS                            12/05/02
VALID   SYS                            12/05/02
VALID   PUBLIC                         12/05/02
 
3 ligne(s) sélectionnée(s).
Donc d'apres ce que je vois PUBLIC a les droits ou bien ?

( je m'excuse pour toutes mes questions )

Merci à vous
Oui sur UTL_SMTP mais c'est UTL_MAIL que tu essaies d'utiliser
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2006, 11h28   #12
Membre du Club
 
Inscription : mars 2003
Messages : 185
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 185
Points : 54
Points : 54
Je viens d'effectuer un test avec ce code



Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
 SQL> DECLARE
  2    v_connection UTL_SMTP.CONNECTION;
  3  BEGIN
  4    v_connection := UTL_SMTP.OPEN_CONNECTION('mailhost.bc.ca',25);
  5    UTL_SMTP.HELO(v_connection,'mailhost.bc.ca');
  6    UTL_SMTP.MAIL(v_connection,'me@here.bc.ca');
  7    UTL_SMTP.RCPT(v_connection,'you@there.bc.ca');
  8    UTL_SMTP.DATA(v_connection,'Sent From PL/SQL');
  9    UTL_SMTP.QUIT(v_connection);
 10  END;
 11  /
Ce dernier fonctionne, je vous remercie pour votre aide.
kilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h18.


 
 
 
 
Partenaires

Hébergement Web