none
sp_send_dbmail : email ne partant pas RRS feed

  • Question

  • Bonjour,

    J'essaye d'utiliser la procédure stockée sp_send_dbmail dans un trigger et je rencontre un problème : aucun mail ne part lorsque le trigger se déclenche.

    Résultat :

    - Table sysmail_allitems : sent_statut = failed

    - Table des logs : "Le message n'a pas pu être envoyé aux destinataires en raison d'une erreur du serveur de messagerie. (Envoi des messages électroniques en utilisant le compte 3 (2018-09-02T15:07:31). Message d'exception : Impossible d'envoyer des messages à ce serveur de messagerie. (Échec d'envoi du courrier.).  )"

    J'ai suivi les précos de paramétrage MS : https://docs.microsoft.com/fr-fr/sql/relational-databases/database-mail/configure-database-mail?view=sql-server-2017#SystemParameters

    J'ai donc fait plusieurs tests d'envoi sans succès :

    Infos environnement :

    - OS : Windows 10 pro (sur mon poste en local)

    - MS SQL version : 2017 

    Tests

    1 - Utilisation de la procédure sp_send_dbmail seule

    EXEC msdb.dbo.sp_send_dbmail  
        @profile_name = 'Nom de mon profil créé',  
        @recipients = 'Mon e-mail',  
        @body = 'Corps Mail Test',  
        @subject = 'Sujet Mail Test' ;

    2 - Changer d'adresse de compte mail avec un gmail en SSL & port 465

    3 - Autoriser l'application C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn\DatabaseMail.exe dans le firewall en flux sortant

    4 - Désactiver le firewall

    Le message d'erreur ne change pas.

    Ma dernière piste me mène vers un potentiel problème de droit SQL. Quand je regarde la table de logs sysmail_event_log je vois que le champs last_mod_user = "sa". Quand je vais dans "les propriétés de de sa"\"mappages de l'utilisateurs"\"table msdb"\"Appartenance au rôle de base de données"\"DatabaseMailUserRole" est décoché.

    Est-ce que cela peux jouer ?

    Si oui, comment attribue t on à "sa" ce role ? Quand je le fais, j'ai l'erreur "Impossible d'utiliser le principal spécial « sa ». (Microsoft SQL Server, Erreur : 15405)". Après recherche et tentatives de correction, je bloque sur ce dernier point et de manière générale.

    Je veux bien des conseils, merci beaucoup !

    lundi 3 septembre 2018 14:29

Toutes les réponses

  • Bonjour,

    J'encouragerais bien à tester le serveur SMTP séparément.

    Il y a déjà suffisamment de causes d'erreurs à ce niveau, soit intrinsèques au serveur soit liées à son blacklistage par les serveurs destinataires (ou encore à d'autres erreurs réseau), pour qu'on n'aille pas ajouter une autre couche dont on n'est pas tout-à-fait sûr.

    mardi 4 septembre 2018 17:51
  • Bonjour

    Quel est le relai SMTP ? Exchange ?
    Le sender (compte du profil) doit être dans la GAL si c'est le cas.

    Christophe


    Christophe LAPORTE - Independent Consultant & Trainer - SQL Server MVP-MCM

    vendredi 12 octobre 2018 13:59