3

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

错误,不明显的标准,还是我缺少的东西?有什么办法吗?我们试图动态建立一个 CC 列表,但这引起了重新思考。

编辑:经过一番谷歌搜索,我相信我已经找到了所指标准的来源——它是RFC 2821,它说:

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

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

4

2 回答 2

2

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

根据 Internet 标准,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 个字符,假设您一次只能向该字段输入一个地址。

于 2010-03-15T17:29:17.543 回答
0

@Wolfgang Kais,你是对的,这不再有效。我用 len > 255 测试了作为变量传递,我收到了一个关于无效电子邮件的错误(文本被截断)。当我将分发列表缩短到 255 以下时,这很好。如果您的组织支持“群组”电子邮件,您可以这样做和/或使用抄送(甚至密件抄送)行获取其他名称。

于 2021-08-26T19:57:45.440 回答