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

错误,非显而易见的标准或我缺少的东西?可以解决吗?我们试图动态地构建抄送列表,但这引起了重新思考。

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


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

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

最佳答案

奇怪的是,Sql Server 2008和2005都声明以下内容:

根据Internet标准,“收件人”,“抄送”和“密件抄送”行分别限制为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

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

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

09-10 03:32
查看更多