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
Lepaskan: 2024-12-27 11:59:13
asal
389 orang telah melayarinya

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
    Salin selepas log masuk

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.'
    Salin selepas log masuk

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
    Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan