邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: Exchange Server 2003中限制邮件收件人数小于100 [打印本页]

作者: 钉子    时间: 2008-5-28 03:03
标题: Exchange Server 2003中限制邮件收件人数小于100
我们都知道在Exchange Server 2000/2003中默认情况下默认的邮件的收件人为最多为64000.而限制收件人数是有必要的。曾经就有一个网友问过我,如果限制无聊的用户从全球地址簿中手动一个一个的收件人选择,最后成了群发邮件?

平常限制一个邮件的收件人数量一般在“全局设置-》邮件传递-》默认设置-》收件人限制”中完成。但有时有一些Exchange 的客户因为其它原因不想在“全局设置”中去限制,比如在“虚拟SMTP服务器-》邮件-》限制每封邮件的收件人数不超过”中填写小于100的数值时会得到“请填一个在100和2000000000之前的整数”的提示,如下图:

[attach]4811[/attach]

本文将介绍实何在Exchange Server 2000/2003中实现限制邮件收件人数小于100。

一.限制使用SMTP协议的客户端收发邮件收件人限制

首先我们来看看开篇中在“虚拟SMTP服务器-》邮件-》限制每封邮件的收件人数不超过”中不能填入小于100数值的问题。和我本人之前写的一个《Exchange Server 2000/2003 中设定超过2G的邮箱图解》一样,我们需要使用ADSI Edit来完成。

1.安装ADSI Edit
ADSI Edit是Windows Server 2003 Support Tools的一部分,如果没有安装 Windows Server 2003 Support Tools,请找到Windows Server 2003的安装光盘"\Support\Tools"下执行Suptools.exe进行安装.也可以直接通过微软网站下载(地址为:
http://download.microsoft.com/do ... rtTools-x86-ENU.exe),并安装.

2.运行ADSI Edit
可以在开始菜单->"运行"中输入Adsiedit.msc或是使用资源管理器定位到"C:\Program Files\Support Tools"目录执行"Adsiedit.msc"以运行.




3.修改“限制每封邮件的收件人数不超过”数值:

A.使用ADSI Edit定位到Configuration->Services->Microsoft Exchange->"ExchangeOrgName(Exchange 组织名)"->AdministrativeGroups->"AdministrativeGroupsName(管理组名)"->Servers->"ServersName(服务器名称)"->CN=Protocols->"CN=SMTP"->邮件存储"->"CN-1",如下图:

[attach]4812[/attach]

备注:其中CN-1为SMTP虚拟服务器的实例编号,如果有多个SMTP虚拟服务器时请注意区分


B.选择“CN-1”,单击右键选择"属性"

C.找到“msExSmptMaxRecipients”对像,如下图:

[attach]4813[/attach]


并进行设定(比如取值为“3”),如下图:

[attach]4814[/attach]


D.设定完成后,我们回到ESM中去看结果,如下图:

[attach]4815[/attach]

备注:遗憾的是如果你用Adsi Edit修改成小于100的值后,当切换到其它的选项页时会跳出提示。

4.请重启Exchange Server的SMTP服务

5.测试结果

当完成设定后,我们可以使用Outlook或是Outlook Express(Windows Mail) 使用PPO3+SMTP的方式来测试一下效果。当你在一封邮件的收件人中填过限制将会得到“552  5.5.3 Too many recipients”提示,如下图:

[attach]4816[/attach]

不过,上面的方法是限制连接虚拟SMTP服务器的客户端发送的邮件,相信很多朋友看到这里会提出一个问题:

使用OWA或是Outlook+Exchange模式发送的邮件不能限制吗?

二.限制非SMTP客户端收发邮件收件人限制

当然,因为OWA和Outlook+Exchange模式都是非SMTP的方式提交的邮件。比如OWA是使用HTTP的方式,而Exchange Server模式使用的是MAPI的协议完成邮件提交的。所以我们不能使用上述的方法来进行限制。所以我们需要对服务器允许提交的邮件最大收件人进行设定,这需要在注册表中增加一个注册表项。方法如下:

1.打开注册表编辑器

2.定位到“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\ ParametersSystem

3.在“ParametersSystem”下:

A.新建立一个“DOWORD”类型的项目

[attach]4817[/attach]

B.取名为“Max Recipients on Submit”

[attach]4818[/attach]


C.为项目设定一个限制的收件人数,比如“2”

[attach]4819[/attach]


5.测试结果

当完成设定后,我们可以登录OWA或是打开Outlook+Exchange模式的客户端来测试一下效果。下图是我在OWA填入3个收件人,超过了2个收件人的限制时,会跳出“无法执行操作”的提示。

[attach]4820[/attach]

如果你使用Outlook+Exchange模式的客户端来测试应该会得到下面的NDR退信:

The item could not be sent. The number of recipients on this message exceeds the upper limit configured by the administrator. (无法发送该项目。 此消息上的收件人数超出上层限制由管理员配置。)

或是

The item could not be sent. The client operation failed. (无法发送该项目。 客户操作失败。)

备注:
1.注册表修改后不需要重启服务或是服务。
2.收件人数限制的值是发件人+抄送+密件抄送的地址数的总和。

至此,我们已经比较全面的介绍了实何在Exchange Server 2000/2003中实现限制邮件收件人数小于100。需要提醒大家注意的是,做这一限制时,你需要考虑是根据需要来限制某一种方式收发的邮件呢?还是需要同时都设置,而选择上述的哪一种方法。
作者: liu    时间: 2008-5-28 10:18
学习,收藏起来
作者: dinnes    时间: 2008-5-29 11:23
又长知识了,不错不错,多谢钉子。
作者: HONG    时间: 2008-5-29 14:20
好贴要收藏
作者: lhskying    时间: 2008-5-29 17:10
不愧是mvp.钉子 。你真棒!
作者: sanjin    时间: 2008-6-2 10:40
钉子。这样子设置上去有一个问题。
就是当点到“SMTP协议”-“邮件”可以看到是<100。但你想再点到其它的界面会有提示。只能点“取消”,再进,再点到想要的那一页。这样的结果就是在“邮件”这一页的内容将不能更改。。。
[attach]4840[/attach][attach]4841[/attach]

[ 本帖最后由 sanjin 于 2008-6-2 10:41 编辑 ]
作者: sanjin    时间: 2008-6-2 15:29
钉子。关于优先级的顺序。
是不是:用户AD的属性>SMTP协议或MAPI>全局中的收件人设置???
作者: 钉子    时间: 2008-6-3 00:07
标题: 回复 6楼 的帖子
没错,这个问题我在帖子中已经提到了“备注:遗憾的是如果你用Adsi Edit修改成小于100的值后,当切换到其它的选项页时会跳出提示。”
作者: 钉子    时间: 2008-6-3 00:10
标题: 回复 7楼 的帖子
关于优先级的顺序。
是不是:用户AD的属性>SMTP协议或MAPI>全局中的收件人设置???
-- 没有怎么看明白。你再详细说说。
作者: sanjin    时间: 2008-6-3 09:18
关于优先级的顺序。
是不是:用户AD的属性>SMTP协议或MAPI>全局中的收件人设置???

也就是这三个都设置了后,哪个优先级高。
如用户AD属性:150人
 SMTP协议或MAPI:50人
 全局中的收件人设置:100人   这样子用户是不是可以发到150人?
作者: 钉子    时间: 2008-6-3 10:38
我记得用户AD属性没有邮件收件人数的设定。

全局影响整个设置。也就是当SMTP协议或MAPI的值小于全局时,以SMTP协议或MAPI的值为准,如果SMTP协议或MAPI的值的值大于全局时,以全局的值为准。

我没有实际测试过,你可以测试一下。如果有错请提出来。谢谢!
作者: sanjin    时间: 2008-6-4 10:58
1[attach]4855[/attach]
图的左二张是AD用户属性中设置收件人限制。右边是EX全局的设置。
我试过。当“全局和SMTP协议中收件人限制”都少于“用户属性中的设置”时。用户仍然可以发多于“全局和SMTP协议中收件人限制”的人数。
其它的还没有试。系统都在用。没办法试。哈哈

“也就是当SMTP协议或MAPI的值小于全局时,以SMTP协议或MAPI的值为准,如果SMTP协议或MAPI的值的值大于全局时,以全局的值为准”,这个应该是成立的。
作者: 钉子    时间: 2008-6-4 11:26
标题: 回复 12楼 的帖子
原来是这里,如果这里的话,应该和我之前说的一样。当全局和SMTP协议或MAPI的值大于用户设定的值生效。否则用户设定要受全局和SMTP协议或MAPI的值限制。
作者: sanjin    时间: 2008-6-4 15:20
那应该是:
用户属性的收件人限制优先于“全局和SMTP协议或MAPI”,如用户设定的小于“全局和SMTP协议或MAPI”,用户仍然不发大于AD用户属性中的限制值。
只考虑“全局和SMTP协议或MAPI”时,哪个设置小以哪个为准!?
作者: 钉子    时间: 2008-6-6 01:23
标题: 回复 14楼 的帖子
被你绕的有点晕了,你在虚机上测一测好了.
作者: sanjin    时间: 2008-6-6 16:46
是呀,我的512机子。跑起来太累了。
会找时间试试。。。。

[ 本帖最后由 sanjin 于 2008-6-6 16:48 编辑 ]
作者: break.liu    时间: 2008-6-10 09:21
看16楼的贴子看晕头了...
作者: sanjin    时间: 2008-6-13 22:15
钉子。这样改后有问题。有的时候会有退信,之前一周用可以。
XXX XXX,时间为 2008-6-11 17:05
            电子邮件系统无法传递此邮件,但未报告具体原因。请检查邮件地址,然后重新发送。如果再次失败,请与系统管理员联系。
            MSEXCH:MSExchangeIS:/DC=com/DC=XXXXXXX.com

我改了限MAPI的就好了。这个退信的内容不怎么常见。会是什么原因造成的。



楼上兄弟。十六楼我说的是,我的机子只有512内存。跑VM机起来很慢呀!!!得找个时间再测试!
作者: sanjin    时间: 2008-6-13 22:23
钉子。这样改后有问题。有的时候会有退信,之前一周用可以。
XXX XXX,时间为 2008-6-11 17:05
            电子邮件系统无法传递此邮件,但未报告具体原因。请检查邮件地址,然后重新发送。如果再次失败,请与系统管理员联系。
            MSEXCH:MSExchangeIS:/DC=com/DC=XXXXXXX.com

我改了限MAPI的就好了。这个退信的内容不怎么常见。会是什么原因造成的。



楼上兄弟。十六楼我说的是,我的机子只有512内存。跑VM机起来很慢呀!!!得找个时间再测试!
作者: 钉子    时间: 2008-6-15 01:22
标题: 回复 19楼 的帖子
从退信内容来看,应该和这个限制无关。也许你刚好碰上的。
作者: sanjin    时间: 2008-6-15 12:54
但从这退信内容什么也看不出。

而且这封邮件是发送给很多人的。才会有这种情况。其它邮件都没有。
后来我来了MPAI限制。就正常了。真是怪。
作者: sanjin    时间: 2008-6-25 12:54
建了台VM试了一下。
具体测试了一下关有收件人人数限制的问题。钉子很强,和他说的差不多。
主要有三个地方限制:
1、用户AD属性收件人限制
2、EX全局中收件人限制
3、协议中收件人限制(MAPI与非MAPI协议)
以上三种,其实实际就判断二种:
如用户AD属性中设置为默认的,就判断2和3,以最少的收件人限制为准。
如用户AD属性中设置了具体的值,就判断1和3(全局不判断),以最少的收件人限制为准
之前发的贴我认为用户AD属性中是优先级最高,是错误的。
但发给组的邮件地址,不管组中为多少人,都只认为是一个收件人。
就是这一点导致我认为上一项的观点,我在其它二个都限制了五十人,但我发给一个组(这个组包括上百个用户),仍可以发送,上百个用户也可以接收。
我现在限制50人的做法:在所有的用户AD属性中设置为50(有一工具可以多个更改,而不用一个个用户去改 )。其它二个限制放大(建议全局比协议设置更大些,这样对于多台EX Server时可以限制的更灵活些)。有具体的用户要发送更多收件人时,只要在用户AD属性中设置就好。当然不能超过协议中的设置,超过了也以协议中的限制人数的为准。
有不同观点的朋友可以指教。谢谢

[ 本帖最后由 sanjin 于 2008-6-25 14:19 编辑 ]
作者: sanjin    时间: 2008-6-25 12:58
关于我之前说的,对于此退信内容: 
XXX XXX,时间为 2008-6-11 17:05
            电子邮件系统无法传递此邮件,但未报告具体原因。请检查邮件地址,然后重新发送。如果再次失败,请与系统管理员联系。
            MSEXCH:MSExchangeIS:/DC=com/DC=XXXXXXX.com

我基本是确定由于限制了收件人产生了。我的这个站点设置后出现这种情况,另一个站点也出现这种退信。
但在我测试的过程中却没有碰到。
作者: sanjin    时间: 2008-6-25 13:41
终于测试出这个错误了。

遇到MAPI或POP3协议设置限制时,
用OWA发送,点“发送”时就提示“无法执行操作”
用Outlook EX模式发送,可以发送出去但退信就如上面的错误
  “user01,时间为 2008-6-25 15:17

电子邮件系统无法传递此邮件,但未报告具体原因。请检查邮件地址,然后重新发送。如果再次失败,请与系   统管理员联系。

MSEXCH:MSExchangeIS:/DC=com/DC=wujin:FJ020803085”
用POP3发,在点“发送”时就提示
   “由于服务器拒绝收件人之一,无法发送邮件。被拒绝的电子邮件地址是[email=“user04@wujin.com]“user04@wujin.com[/email]”。 主题 'Re: OWA    6666666666', 帐户: '172.16.99.50', 服务器: '172.16.99.50', 协议: SMTP, 服务器响应: '552 5.5.3 Too      many recipients', 端口: 25, 安全(SSL): 否, 服务器错误: 552, 错误号: 0x800CCC79”

遇到用户(或全局)设置限制时,用MPAI(OWA,Outlook EX模式)或POP3发送
可以发送出去,但都会收到退信。
“user01 日期 2008-6-25 14:59
  电子邮件系统限制了单封邮件的收件人数。请将邮件分多次发送,每次发送给较少的收件人。
  <FJ020803085.wujin.com #5.5.3> ”

[ 本帖最后由 sanjin 于 2008-6-25 15:25 编辑 ]
作者: xiaoqiu    时间: 2008-6-26 13:36
收藏了,谢谢分享~~~~
作者: frank0815    时间: 2008-12-12 16:45
收藏起来慢慢看..
作者: kittyshen    时间: 2008-12-12 17:24
学习了
作者: ysunbeam    时间: 2008-12-20 18:17
好东西,收藏起来,好好学习!!
作者: killer_125    时间: 2009-7-17 11:42
不错的知识,藏了!!!!!!!!!!!!!!!1
作者: killer_125    时间: 2009-7-17 15:30
群组如何限制呢??系统默认会把群组作为一个收件人,我已经测试过了!!请高人指教如何限制群组发件人数!!!
作者: killer_125    时间: 2009-7-17 15:31
群组如何限制呢??系统默认会把群组作为一个收件人,我已经测试过了!!请高人指教如何限制群组发件人数!!!




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://5dmail.net/bbs/) Powered by Discuz! X3.2