Heim >Datenbank >MySQL-Tutorial >Wie sende ich programmgesteuert E-Mails von SQL Server mithilfe gespeicherter Adressen?

Wie sende ich programmgesteuert E-Mails von SQL Server mithilfe gespeicherter Adressen?

DDD
DDDOriginal
2024-12-28 00:34:10454Durchsuche

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

So senden Sie programmgesteuert E-Mails von SQL Server unter Verwendung gespeicherter E-Mail-Adressen

Das Senden von E-Mails von SQL Server kann eine nützliche Automatisierungsaufgabe für verschiedene Szenarien sein . Dieser Artikel zeigt, wie Sie dies mit T-SQL erreichen, wenn die E-Mail-Adressen in einer Tabelle gespeichert werden.

Schritt-für-Schritt-Implementierung:

Schritt 1: Datenbank-Mail konfigurieren

  • Erstellen Sie ein Datenbank-Mail-Profil und ein Konto mit dem Assistenten zum Konfigurieren von Datenbank-Mail. Dieser Assistent richtet die notwendige Infrastruktur zum Senden von E-Mails ein.

Schritt 2: Erweiterte Datenbank-Mail-Funktionen aktivieren

Führen Sie die folgenden Befehle aus, um die erweiterte Datenbank-Mail-Funktionalität zu aktivieren :

sp_CONFIGURE 'show advanced', 1
GO
RECONFIGURE
GO
sp_CONFIGURE 'Database Mail XPs', 1
GO
RECONFIGURE
GO

Schritt 3: Senden Sie eine einzelne E-Mail mit einer bestimmten Adresse Profil

Verwenden Sie die gespeicherte Prozedur sp_send_dbmail, um eine E-Mail vom angegebenen Profil zu senden:

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.'

Schritt 4: Durchlaufen Sie eine Tabelle und senden Sie E-Mails

Um E-Mails basierend auf einer Tabelle mit E-Mail-Adressen an mehrere Empfänger zu senden, befolgen Sie diese Schritte Schritte:

  1. Deklarieren Sie Variablen für die E-Mail-ID (@email_id), die aktuelle ID (@id), die maximale ID (@max_id) und die SQL-Abfrage (@query).
  2. Holen Sie sich die minimalen und maximalen IDs aus der Tabelle [email_adresses].
  3. Verwenden Sie eine WHILE-Schleife, um die Tabelle zu durchlaufen IDs.
  4. Rufen Sie innerhalb der Schleife die E-Mail-Adresse (@email_id) ab.
  5. Erstellen Sie die sp_send_dbmail-Abfrage dynamisch basierend auf der aktuellen E-Mail-Adresse.
  6. Führen Sie die zu sendende Abfrage aus die E-Mail.
  7. Aktualisieren Sie die aktuelle ID (@id) für die nächste Iteration.

Hier ist der Code für die 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

Das obige ist der detaillierte Inhalt vonWie sende ich programmgesteuert E-Mails von SQL Server mithilfe gespeicherter Adressen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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