Maison >base de données >tutoriel mysql >Comment puis-je envoyer des e-mails depuis SQL Server en utilisant des adresses e-mail stockées ?
Envoi d'e-mails depuis SQL Server avec des adresses e-mail stockées
Autonomiser votre base de données SQL Server pour envoyer des e-mails est une tâche essentielle dans divers scénarios. Supposons que vous ayez des adresses e-mail stockées dans un tableau et que vous deviez déclencher des notifications par e-mail. Cet article présente une approche globale pour y parvenir en utilisant le langage de programmation T-SQL.
Étape 1 : Configurer les paramètres de messagerie de la base de données
Avant d'envoyer des e-mails, vous devez définir votre infrastructure de messagerie de base de données. Utilisez l'Assistant Configurer la messagerie de base de données dans SQL Server Management Studio pour créer des profils, des comptes et des paramètres globaux. Cela permettra la livraison d'e-mails à partir de votre environnement SQL Server.
Étape 2 : Activation des procédures stockées étendues et de la messagerie de base de données
Pour utiliser les procédures stockées nécessaires à l'envoi d'e-mails, exécutez les commandes suivantes :
sp_CONFIGURE 'show advanced', 1 GO RECONFIGURE GO sp_CONFIGURE 'Database Mail XPs', 1 GO RECONFIGURE GO
Étape 3 : Envoi d'un single E-mail
Pour envoyer un seul e-mail avec une adresse e-mail codée en dur, utilisez la procédure sp_send_dbmail :
USE msdb GO EXEC sp_send_dbmail @profile_name='yourprofilename', @recipients='[email protected]', @subject='Test message', @body='This is the body of the test message. Congrates Database Mail Received By you Successfully.'
Étape 4 : parcourir une table d'adresses e-mail
Pour envoyer des e-mails à plusieurs destinataires stockés dans un tableau, vous pouvez parcourir le tableau en utilisant un while loop :
DECLARE @email_id NVARCHAR(450), @id BIGINT, @max_id BIGINT, @query NVARCHAR(1000) SELECT @id=MIN(id), @max_id=MAX(id) FROM [email_adresses] WHILE @id<=@max_id BEGIN SELECT @email_id=email_id FROM [email_adresses] set @query='sp_send_dbmail @profile_name=''yourprofilename'', @recipients='''+@email_id+''', @subject=''Test message'', @body=''This is the body of the test message. Congrates Database Mail Received By you Successfully.''' EXEC @query SELECT @id=MIN(id) FROM [email_adresses] where id>@id END
Cette approche globale vous permet d'envoyer efficacement des e-mails depuis SQL Server, que les adresses e-mail de vos destinataires soient ou non stockées dans un tableau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!