IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Mail en PL/SQL


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 242
    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

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    C'est possible en utilisant le package UTL_STMP. Voir: http://jaouad.developpez.com/mail/

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 242
    Par défaut
    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

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select status, owner, created
    from dba_objects 
    where object_name='UTL_SMTP'
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 242
    Par défaut
    Ok parfait je vois que le package est bien installé maintenant je vais effectuer les test pour l'envoie de mail

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 242
    Par défaut
    Je m'excuse vraiment de vous deranger mais en tester cela :

    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
     
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 286
    Par défaut
    Il n'y a pas une virgule en trop apres le dernier parametre ?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 242
    Par défaut
    En ayant supprimer la virgule :

    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
     
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  9. #9
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    grant execute on  utl_mail to public;

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 242
    Par défaut
    Pourtant lorsque j'execute la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select status, owner, created 
    from dba_objects 
    where object_name='UTL_SMTP';
    j'obtiens cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  11. #11
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Par défaut
    Citation Envoyé par kilian
    Pourtant lorsque j'execute la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select status, owner, created 
    from dba_objects 
    where object_name='UTL_SMTP';
    j'obtiens cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 242
    Par défaut
    Je viens d'effectuer un test avec ce code



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/01/2011, 09h07
  2. Lecture de mails sur serveur mail en PL/SQL
    Par popopop dans le forum PL/SQL
    Réponses: 1
    Dernier message: 27/01/2010, 10h17
  3. Réponses: 2
    Dernier message: 13/09/2009, 18h12
  4. Réponses: 1
    Dernier message: 18/01/2009, 21h23
  5. pbm envoi mail en pl/sql
    Par Nounoursonne dans le forum PL/SQL
    Réponses: 2
    Dernier message: 13/07/2005, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo