我認爲在你的程序中你可以創建一個Temp表/表變量,並用你想發送電子郵件的電子郵件填充它。
一旦你有一個表中的所有電子郵件,那麼你可以用;
串聯的電子郵件地址,並將其存儲到一個變量,並通過該變量作爲參數傳遞給msdb.dbo.sp_send_dbmail PROC的@recipients參數。
事情是這樣的......
說你有填充表變量叫你的電子郵件程序中的電子郵件
DECLARE @Emails TABLE(Email NVARCHAR(1000))
INSERT INTO @Emails VALUES
('[email protected]'),('[email protected]'),('[email protected]') --<-- Three emails you want to send email
級聯
DECLARE @Email_List NVARCHAR(MAX); --<-- Variable to store emails List
SELECT @Email_List = STUFF((SELECT ';' + Email [text()]
FROM @Emails
FOR XML PATH(''),TYPE)
.value('.','NVARCHAR(MAX)'),1,1, '')
FROM @Emails e
-- Test SELECT @Email_List
-- RESULT: [email protected];[email protected];[email protected]
現在把這個變量@recipients參數
EXECUTE msdb.dbo.sp_send_dbmail @profile_name = 'ProfileName'
, @recipients = @Email_List
, @subject = 'Some_Subject'
我認爲這將是更多的郵件服務器的問題,這個問題可能會更好地放在服務器故障或數據庫管理員。 –