Heim > Datenbank > MySQL-Tutorial > Wie kann ich den E-Mail-Versand von SQL Server mithilfe von T-SQL automatisieren?

Wie kann ich den E-Mail-Versand von SQL Server mithilfe von T-SQL automatisieren?

Susan Sarandon
Freigeben: 2024-12-27 11:59:13
Original
343 Leute haben es durchsucht

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

Automatisches E-Mail-Versenden von SQL Server

Diese Frage sucht nach einer Lösung für das Versenden von E-Mails von SQL Server mit Transact-SQL (T-SQL) , insbesondere wenn die E-Mail-Adressen der Empfänger in einer Datenbanktabelle gespeichert sind. Das Ziel besteht darin, den E-Mail-Versandprozess zu automatisieren, indem die Tabelle durchlaufen und E-Mails an jede Adresse gesendet wird.

Lösungsschritte:

1. Konfiguration:

  • Erstellen Sie ein Profil und ein Konto mit dem Assistenten zum Konfigurieren von Datenbank-Mails. Mit diesem Assistenten können Sie Konten, Profile und globale Einstellungen für Datenbank-Mail verwalten.
  • Richten Sie SQL Server-Berechtigungen ein, indem Sie die folgenden Befehle ausführen:

    sp_CONFIGURE 'show advanced', 1
    GO
    RECONFIGURE
    GO
    sp_CONFIGURE 'Database Mail XPs', 1
    GO
    RECONFIGURE
    GO
    Nach dem Login kopieren

2. E-Mails senden:

  • Um E-Mails programmgesteuert zu senden, verwenden Sie die gespeicherte Prozedur 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.'
    Nach dem Login kopieren

3. Schleife durch eine Tabelle:

  • Um E-Mails an mehrere in einer Tabelle gespeicherte Empfänger zu senden, verwenden Sie eine Schleife:

    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
    Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich den E-Mail-Versand von SQL Server mithilfe von T-SQL automatisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage