Maison > base de données > tutoriel mysql > Comment envoyer par programme des e-mails à partir de SQL Server à l'aide d'adresses stockées ?

Comment envoyer par programme des e-mails à partir de SQL Server à l'aide d'adresses stockées ?

DDD
Libérer: 2024-12-28 00:34:10
original
528 Les gens l'ont consulté

How to Programmatically Send Emails from SQL Server Using Stored Addresses?

Comment envoyer par programme des e-mails à partir de SQL Server à l'aide d'adresses e-mail stockées

L'envoi d'e-mails à partir de SQL Server peut être une tâche d'automatisation utile pour divers scénarios . Cet article montre comment y parvenir à l'aide de T-SQL lorsque les adresses e-mail sont stockées dans une table.

Mise en œuvre étape par étape :

Étape 1 : Configurer la messagerie de base de données

  • Créez un profil et un compte de messagerie de base de données à l'aide de l'assistant de configuration de messagerie de base de données. Cet assistant configure l'infrastructure nécessaire à l'envoi d'e-mails.

Étape 2 : Activer les fonctionnalités avancées de messagerie de base de données

Exécutez les commandes suivantes pour activer la fonctionnalité avancée de messagerie de base de données :

sp_CONFIGURE 'show advanced', 1
GO
RECONFIGURE
GO
sp_CONFIGURE 'Database Mail XPs', 1
GO
RECONFIGURE
GO
Copier après la connexion

Étape 3 : Envoyer un seul e-mail à l'aide d'un Profil

Utilisez la procédure stockée sp_send_dbmail pour envoyer un e-mail à partir du profil spécifié :

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.'
Copier après la connexion

Étape 4 : parcourir une table et envoyer des e-mails

Pour envoyer des e-mails à plusieurs destinataires en fonction d'un tableau d'adresses e-mail, suivez ces étapes :

  1. Déclarez les variables pour l'ID de messagerie (@email_id), l'ID actuel (@id), l'ID maximum (@max_id) et la requête SQL (@query).
  2. Obtenez les identifiants minimum et maximum de la table [email_adresses].
  3. Utilisez une boucle WHILE pour parcourir la table ID.
  4. Dans la boucle, récupérez l'adresse e-mail (@email_id).
  5. Créez dynamiquement la requête sp_send_dbmail en fonction de l'adresse e-mail actuelle.
  6. Exécutez la requête à envoyer l'e-mail.
  7. Mettre à jour l'identifiant actuel (@id) pour le prochain itération.

Voici le code de la boucle :

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
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal