如何向多个收件人发送电子邮件?

时间:2016-10-24 05:12:04

标签: sql-server email stored-procedures

我有一个存储过程,可以向少数收件人发送电子邮件。在此我想使用 @copy_recipients 发送给两个不同的收件人。但是我收到语法错误。如何使这项工作?

存储过程代码

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'mail', 
    @recipients = @Mail1,
    @copy_recipients = @Mail2;@Mail3, 
    @body =@body ,
    @subject =@subject 

1 个答案:

答案 0 :(得分:13)

您需要使用字符串连接在电子邮件地址之间添加;(分号):

DECLARE @copy_to varchar(max)= @Mail2+';'+@Mail3

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'mail', 
    @recipients = @Mail1,
    @copy_recipients = @copy_to, 
    @body =@body ,
    @subject =@subject 

您可以阅读MSDN文章here

  

[ @recipients =] '收件人'

     

以分号分隔的电子邮件列表   发送邮件的地址。收件人列表是类型   VARCHAR(最大值)。虽然这个参数是可选的,但至少有一个   @recipients,@ copy_recipients或@blind_copy_recipients必须是   指定,或sp_send_dbmail返回错误。

     

[ @copy_recipients =] 'copy_recipients'

     

以分号分隔的列表   将消息复制到的电子邮件地址。复制收件人   list的类型为varchar(max)。虽然此参数是可选的,但是   @recipients,@ copy_recipients或@blind_copy_recipients中的至少一个   必须指定,否则sp_send_dbmail会返回错误。

相关问题