Maison > base de données > tutoriel mysql > Comment puis-je automatiser l'envoi d'e-mails depuis SQL Server à l'aide de T-SQL ?

Comment puis-je automatiser l'envoi d'e-mails depuis SQL Server à l'aide de T-SQL ?

Susan Sarandon
Libérer: 2024-12-27 11:59:13
original
343 Les gens l'ont consulté

How Can I Automate Email Sending from SQL Server Using T-SQL?

Envoi automatique d'e-mails depuis SQL Server

Cette question recherche une solution pour l'envoi d'e-mails depuis SQL Server à l'aide de Transact-SQL (T-SQL) , en particulier lorsque les adresses e-mail des destinataires sont stockées dans une table de base de données. L'objectif est d'automatiser le processus d'envoi d'e-mails en parcourant le tableau et en envoyant des e-mails à chaque adresse.

Étapes de la solution :

1. Configuration :

  • Créez un profil et un compte à l'aide de l'assistant de configuration de la messagerie de base de données. Cet assistant vous permet de gérer les comptes, les profils et les paramètres globaux de Database Mail.
  • Configurez les autorisations SQL Server en exécutant les commandes suivantes :

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

2. Envoi d'e-mails :

  • Pour envoyer des e-mails par programme, utilisez la procédure stockée sp_send_dbmail :

    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

3. Parcourir une table :

  • Pour envoyer des e-mails à plusieurs destinataires stockés dans une table, utilisez une 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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal