我尝试在SQL Server中使用sp_send_dbmail
向多个收件人发送电子邮件。问题是我只收到列表中的一封电子邮件。
我还使用了一个游标来迭代将通过电子邮件发送的数据。
我使用光标内的下一个查询动态获取电子邮件:
@EmailRecipients NVARCHAR(MAX) = CAST((SELECT DISTINCT CorreoSubGerente
FROM #Temp
WHERE CorreoSubGerente = (SELECT DISTINCT CAST(CorreoSubGerente AS VARCHAR) FROM #Temp
WHERE idSubGerente = @idSubGerente)
-- and more conditions to make it work...
) AS NVARCHAR(MAX)
然后我执行如下的过程sp_send_dbmail
:
EXEC msdb.dbo.sp_send_dbmail
@profile_name='profile_name' ,
@body = @body,
@body_format ='HTML',
@recipients = @EmailRecipients, -- this is not working as expected
@subject = @AsuntoCorreo
你们知道我怎么把邮件发给多个收件人吗?
1条答案
按热度按时间r3i60tvu1#
@recipients是一个以分号分隔的列表(如@copy_recipients和@blind_copy_recipients。如果您使用的是支持STRING_AGG的版本,则可以使用该列表。否则,您可以使用类似于以下基于集合的逻辑,用分号连接电子邮件:
....或XML路径或填充方法来构建分隔列表(* 您将在StackOverflow上找到示例 *)。