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

MS SQL Server Discussion :

Envoyer un mail depuis une procédure stockée


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Envoyer un mail depuis une procédure stockée
    Je recherche la commande pour envoyer un mail depuis une procédure stockée (SQL Server 2000). En fait, je fais un traitement qui insére des enregistrements dans une table, et je voudrais en plus envoyer ces infos dans le corps d'un mail (concaténation de 4 champs au format texte sur plusieurs lignes).

    Quelle est la commande pour envoyer un mail ???


    Merci

  2. #2
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    One ring to rule them all,
    One ring to find them,
    One ring to bring them all
    And in the darkness bind them.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Merci pour ta réponse. Je vais essayer. Peux tu me préciser quels paramètres passer ?

  4. #4
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    Par défaut
    Slt,

    Tous les parametres sont dans la doc SQL Server,

    Syntaxe
    xp_sendmail {[@recipients =] 'recipients [;...n]'}
    [,[@message =] 'message']
    [,[@query =] 'query']
    [,[@attachments =] 'attachments [;...n]']
    [, [@copy_recipients =] 'copy_recipients [;...n]'
    [, [@blind_copy_recipients =] 'blind_copy_recipients [;...n]'
    [, [@subject =] 'subject']
    [, [@type =] 'type']
    [,[@attach_results =] 'attach_value']
    [, [@no_output =] 'output_value']
    [,[@no_header =] 'header_value']
    [, [@width =] width]
    [, [@separator =] 'separator']
    [,[@echo_error =] 'echo_value']
    [, [@set_user =] 'user']
    [, [@dbuse =] 'database']

    il faut par contre au prealable :


    - installer outlook sur le serveur et parametrer un compte de messagerie
    - parametrer SQLMail sur le serveur SQL.

    a+
    One ring to rule them all,
    One ring to find them,
    One ring to bring them all
    And in the darkness bind them.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Voici le message quand j'éxécute ma procédure dans l'analyseur de requêtes :

    Impossible d'ajouter des lignes à sysdepends pour la présente procédure stockée parce qu'elle dépend d'un objet absent 'xp_sendmail'. La procédure stockée va cependant être créée.
    Faut il ajouter cette fonction à mon SQL Server ???


    Merci

  6. #6
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    Par défaut
    Slt,

    xp_sendmail est une procedure systeme presente sur la base MASTER, donc il faut l'utiliser en precisant la base ou elle se trouve.

    exec master..xp_sendmail .....


    a+
    One ring to rule them all,
    One ring to find them,
    One ring to bring them all
    And in the darkness bind them.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    J'ai essayé ce que tu m'as dit. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC [master].[dbo].xp_sendmail @recipients ='Alerte', @message ='Message', @subject ='Subject Test'
    Faut il mettre l'adresse e-mail dans @recipients ou le nom de l'opérateur créé dans SQL Server ?

    Pour info, l'envoi de mail fonctionne puisque je reçois des mails depuis la notification dans les travaux planifiés.

    Mais, là, j'ai pas d'erreur, pas de message, mais je ne reçois rien dans ma boite ...


    Merci

  8. #8
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    Par défaut
    Slt,

    Tu peux indifferement mettre :

    - un operateur SQL
    - une adresse mail
    - une adresse exchange

    quel est le code retour de xp_sendmail ?

    a+
    One ring to rule them all,
    One ring to find them,
    One ring to bring them all
    And in the darkness bind them.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    OK, tout fonctionne maintenant. J'avais simplement oublié que c'était les noms du carnet d'adresse qu'il fallait mettre en paramètre de @recipients


    Merci encore pour cette aide précieuse

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Points : 22
    Points
    22
    Par défaut envoi mail +SQLServer 2000
    Bonjour,

    J'ai des questions sur l'envoi de mail avec SQL. En fait j'ai une colonne dans ma table qui contient un compteur. Quand ce compteur vaut 5, je veux envoyer un mail à l'adresse mail de l'enregistrement concerné (l'adresse sera stocké dans un colonne).
    Je voulais savoir comment je devais faire pour envoyer un mail à une adresse qui se trouve dans un champs.

    En fait je pense faire un trigger sur le compteur et quand = 5 envoi mail.

    merci de ton aide.

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

Discussions similaires

  1. Accès à un fichier depuis une procédure stockée
    Par greg75 dans le forum Sybase
    Réponses: 2
    Dernier message: 09/03/2007, 10h02
  2. Réponses: 27
    Dernier message: 08/03/2007, 16h09
  3. Création de fichier depuis une procédure stockée
    Par xavier ringoise dans le forum SQL
    Réponses: 2
    Dernier message: 07/03/2006, 09h45
  4. Réponses: 6
    Dernier message: 18/05/2005, 14h04

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