Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menghantar E-mel Secara Pemrograman dari Pelayan SQL Menggunakan Alamat Tersimpan?

Bagaimana untuk Menghantar E-mel Secara Pemrograman dari Pelayan SQL Menggunakan Alamat Tersimpan?

DDD
DDDasal
2024-12-28 00:34:10454semak imbas

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

Cara Menghantar E-mel Secara Pemrograman daripada Pelayan SQL Menggunakan Alamat E-mel Tersimpan

Menghantar e-mel daripada SQL Server boleh menjadi tugas automasi yang berguna untuk pelbagai senario . Artikel ini menunjukkan cara untuk mencapai ini menggunakan T-SQL apabila alamat e-mel disimpan dalam jadual.

Pelaksanaan Langkah demi Langkah:

Langkah 1: Konfigurasikan Mel Pangkalan Data

  • Buat profil dan akaun mel pangkalan data menggunakan Konfigurasikan Wizard Mel Pangkalan Data. Wizard ini menyediakan infrastruktur yang diperlukan untuk menghantar e-mel.

Langkah 2: Dayakan Ciri Mel Pangkalan Data Lanjutan

Laksanakan arahan berikut untuk mendayakan fungsi Mel Pangkalan Data lanjutan :

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

Langkah 3: Hantar E-mel Tunggal Menggunakan Spesifik Profil

Gunakan prosedur tersimpan sp_send_dbmail untuk menghantar e-mel daripada profil yang ditentukan:

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

Langkah 4: Gelung Melalui Jadual dan Hantar E-mel

Untuk menghantar e-mel kepada berbilang penerima berdasarkan jadual alamat e-mel, ikuti ini langkah:

  1. Isytiharkan pembolehubah untuk ID e-mel (@email_id), ID semasa (@id), ID maksimum (@max_id) dan pertanyaan SQL (@query).
  2. Dapatkan ID minimum dan maksimum daripada jadual [email_adresses].
  3. Gunakan gelung WHILE untuk lelaran melalui jadual ID.
  4. Dalam gelung, dapatkan semula alamat e-mel (@email_id).
  5. Bina pertanyaan sp_send_dbmail secara dinamik berdasarkan alamat e-mel semasa.
  6. Lakukan pertanyaan untuk dihantar e-mel.
  7. Kemas kini ID semasa (@id) untuk yang seterusnya lelaran.

Berikut ialah kod untuk 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 Bagaimana untuk Menghantar E-mel Secara Pemrograman dari Pelayan SQL Menggunakan Alamat Tersimpan?. 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