Sql 从数据库发送电子邮件
我正在尝试从服务器向几个收件人发送电子邮件 我确实使用以下方法查询我的数据库:Sql 从数据库发送电子邮件,sql,sql-server,Sql,Sql Server,我正在尝试从服务器向几个收件人发送电子邮件 我确实使用以下方法查询我的数据库: SELECT Email from payrollchecksystem 然后使用以下命令发送电子邮件 USE msdb GO EXEC sp_send_dbmail @profile_name='SQL Server Alerts System', @recipients = I DONT KNOW WHAT TO PUT HERE @subject='Test message', @body='This is
SELECT Email from payrollchecksystem
然后使用以下命令发送电子邮件
USE msdb
GO
EXEC sp_send_dbmail @profile_name='SQL Server Alerts System',
@recipients = I DONT KNOW WHAT TO PUT HERE
@subject='Test message',
@body='This is the body of the test message.
Congrates Database Mail Received By you Successfully.'
我的问题是,当我试图发送从payrollchecksystem表收到的所有电子邮件时,我不知道为@recipients放什么?
@接受者
是以分号分隔的
发送邮件的电子邮件地址
到
@接受者
是以分号分隔的
发送邮件的电子邮件地址
到
要将电子邮件分隔为分号分隔的字符串,请使用
COALESCE
:
DECLARE @EmailList varchar(MAX)
SELECT @EmailList = COALESCE(@EmailList + ';', '') + Email
FROM payrollchecksystem
WHERE Email IS NOT NULL
SELECT @EmailList
然后您可以像这样使用@EmailList:
USE msdb
GO
EXEC sp_send_dbmail @profile_name='SQL Server Alerts System',
@recipients = @EmailList,
@subject='Test message',
@body='This is the body of the test message. Congrates Database Mail Received By you Successfully.'
要将电子邮件分隔为分号分隔的字符串,请使用
COALESCE
:
DECLARE @EmailList varchar(MAX)
SELECT @EmailList = COALESCE(@EmailList + ';', '') + Email
FROM payrollchecksystem
WHERE Email IS NOT NULL
SELECT @EmailList
然后您可以像这样使用@EmailList:
USE msdb
GO
EXEC sp_send_dbmail @profile_name='SQL Server Alerts System',
@recipients = @EmailList,
@subject='Test message',
@body='This is the body of the test message. Congrates Database Mail Received By you Successfully.'
但是如果我想给100个收件人发一封电子邮件呢。我确实创建了一个带有收件人列表的.csv文件。在这种情况下,我应该为@recipients添加什么内容?您应该添加100个电子邮件地址,用分号分隔,就像文档中所说的那样。但是,如果我试图向100个收件人发送电子邮件,该怎么办。我确实创建了一个带有收件人列表的.csv文件。在这种情况下,我应该为@recipients添加什么内容?您应该添加100个电子邮件地址,用分号分隔,如文档所示