SSIS发送邮件任务地址限制为255个字符?

时间:2010-03-15 16:25:43

标签: sql-server-2008 ssis smtp sendmail

这是一个错误,还是一些我无法找到任何文档的隐藏限制?在SSIS 2008中创建发送邮件任务时,TO,CC和BCC字段似乎具有255个字符的隐藏限制。我知道这是个人电子邮件地址的标准限制,但这三个地址通常用于多个地址,而To字段的注释甚至表示“用分号分隔收件人”。但是,它会将地址截断为最多255个字符。

错误,非显而易见的标准,还是我缺少的东西?有什么方法吗?我们试图动态构建CC列表,但这引起了重新思考。

编辑:经过一段谷歌搜索,我相信我已经找到了标准的来源 - RFC 2821说:

  


        域名或号码的最大总长度为255         字符。

     

路径
        反向路径或前向路径的最大总长度为256         字符(包括标点符号和元素分隔符)。

1 个答案:

答案 0 :(得分:2)

奇怪的是,Sql Server 2008和2005都声明如下:

根据互联网标准,To,Cc和Bcc行数限制为256个字符。

在以下地址:
http://msdn.microsoft.com/en-us/library/ms142165.aspx

但我能够使用以下代码生成像您尝试的ToLine:

declare @toline varchar(8000)
set @toline = ' '

select @toline = @toline + EMAIL + ';' 
from Control.ControlPointMail where enabled = 1

select @toline = substring(@toline,1,len(@toline)-1)

select @toline  

运行此代码的执行SQL任务将其放入变量中 该变量在发送邮件任务的to行的表达式中引用。

我认为我会将MSDN中的文本解释为To,CC和BCC行的输入字段限制为256个字符,前提是您只能一次向该字段输入一个地址