Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengautomasikan Penghantaran E-mel daripada Pelayan SQL Menggunakan T-SQL?

Bagaimanakah Saya Boleh Mengautomasikan Penghantaran E-mel daripada Pelayan SQL Menggunakan T-SQL?

Susan Sarandon
Susan Sarandonasal
2024-12-27 11:59:13351semak imbas

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

Penghantaran E-mel Automatik daripada SQL Server

Soalan ini mencari penyelesaian untuk menghantar e-mel daripada SQL Server menggunakan Transact-SQL (T-SQL) , khususnya apabila alamat e-mel penerima disimpan dalam jadual pangkalan data. Matlamatnya adalah untuk mengautomasikan proses penghantaran e-mel dengan menggelung melalui jadual dan menghantar e-mel ke setiap alamat.

Langkah Penyelesaian:

1. Konfigurasi:

  • Buat profil dan akaun menggunakan Wizard Konfigurasi Mel Pangkalan Data. Wizard ini membenarkan anda mengurus akaun, profil dan tetapan global untuk Mel Pangkalan Data.
  • Sediakan kebenaran SQL Server dengan menjalankan arahan berikut:

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

2. Menghantar E-mel:

  • Untuk menghantar e-mel secara pengaturcaraan, gunakan prosedur disimpan 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.'

3. Menggelung Melalui Jadual:

  • Untuk menghantar e-mel kepada berbilang penerima yang disimpan dalam jadual, gunakan gelung:

    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

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengautomasikan Penghantaran E-mel daripada Pelayan SQL Menggunakan T-SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn