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 du mail = 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...stemParameters
J'ai donc fait plusieurs tests d'envoi sans succès : (sur mon poste en local)
1 - Utilisation de la procédure sp_send_dbmail seule
2 - Changer de mail avec un compte gmail en SSL & port 465
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 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' ;
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 (Windows)
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 car je tourne en rond depuis longtemps sur ce sujet , merci beaucoup !
Partager