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
415 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!

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