但是这些NDR都是系统自动生成的,有时候用户可能想自定义NDR中的内容。在Exchange 2003中,需要修改DLL文件才能实现,整个操作过程比较复杂。我们不在这里讲述了。在Exchange 2007,我们可以很容易地实现它。
首先我们需要创建自定义的传递状态通知(DSN),然后将自定义的DSN通过传输规则联系起来。这样当用户发送邮件后会自动触发传输规则,传输规则将根据自定义的DSN向发件人返回未送达报告 (NDR),并删除原始邮件。;;
1. 创建自定义的DSN:
1) 打开Exchange Management Shell,运行下面的命令:
New-SystemMessage -DsnCode 5.7.228 -Language En -Internal $True -Text "Sending messages between the Sales and Brokerage groups is prohibited by policy #123. For more information, see Compliance Policy 123."
-Internal 参数设置为True,当内部用户发送邮件时触发该DSN。如图1所示。
图1
New-SystemMessage -DsnCode 5.7.228 -Language En -Internal $False -Text "Sending messages between the Sales and Brokerage groups is prohibited by policy #123. For more information, see Compliance Policy 123."
-Internal 参数设置为False,当外部用户发送邮件给您的组织中的用户发送邮件时触发该DSN。如图2所示。
图2
2) 还可以运行下面的命令来检查刚才创建的DSN,如图3所示:
图3
Get-systemmessage
注意:在这里我们只是做演示,对内部发件人和外部发件人使用相同的文本(-Text后面的参数),在实际环境中,您可以根据自己的需要来设置文本。我们在这里设置的语言是英文,您可以设置其他的语言版本。比如中文的、日文等等。
;
2. 创建传输规则将自定义DSN关联起来:
1) 打开Exchange Management Console,然后定位到组织配置-Hub Transport,点击传输规则,
2) 右键选择新建传输规则,输入名称比如dsntest。在comment中您可以输入一些信息描述该规则的用途。如图4所示。
图4
3) 然后点击下一步,选中send to people,点击people,点击add,将test001添加进来,如图5所示。
图5
4) 然后点击下一步,选择send bounce message to sender with enhanced status code。如图6所示。然后点击5.7.1,输入5.7.228。你刚才创建DSN指定的代码。当然你也可以点击Delivery not authorized, message refused然后输入自定义的信息。我们这里保持缺省的不变。如图7所示。
图6
图7
5) 点击两次下一步,然后点击new,点击finish。如图8所示。
图8
注:该配置是在150795M1上完成的。
3. 验证结果。
先介绍一下环境配置,我们有两个Exchange 2007组织。它们分别属于域dc.com和域wan.com。
dc.com域中的用户:dcadministrator,dctest001;
dc.com域中的Exchange 2007服务器名称:150795M1,该服务器有客户端访问服务器、邮箱服务器和中心传输服务器角色,同时该服务器还是DC。
wan.com域中的用户:wanadministrator。
dc.com域中的Exchange 2007服务器名称:roc-dc,该服务器有客户端访问服务器、邮箱服务器和中心传输服务器角色。同时该服务器还是DC。
我们首先在域dc.com中的内部进行测试:
1. 我们先通过OWA登录dcadministrator的邮箱,
2. 然后发送一封邮件给dctest001,
3. 然后等待系统的退信,该NDR中的用户信息部分显示的是我们刚才自定义的信息。如图9所示。
图9
我们首先在域dc.com中的外部进行测试,即使用外部用户wanadministrator发送邮件给dctest001。
1. 我们先通过OWA登录wanadministrator的邮箱,
2. 然后发送一封邮件给dctest001,
3. 然后等待系统的退信,系统确实退信了,但是产生的NDR不是我们想要的。如图10所示。
图10
出现该问题是因为当将Exchange 2007服务器升级到update rollup 4或者最新update rollup,DSNConversionMode的缺省值是UseExchangeDSNs。如果该参数设置为UseExchangeDSNs,Exchange Server 2007将DSNs转换为Exchange 2007 DSN格式。以前DSN中包含的任何自定义的文本或附件将会被覆盖。如果将该参数设置为PreserveDSNBody,Exchange Server 2007将DSNs转换为Exchange 2007 DSN。但是,DSN消息中的文本主体会保留。如果您将该参数设置为DoNotConvert,Exchange Server 2007 不修改DSN消息。实际上,Exchange Server 2007将该消息作为标准的邮件来传递。
我们先查看一下Exchange服务器roc-dc 上的DSNConversionMode的缺省值,如图11所示。运行命令:Set-transportConfig -DSNConversionMode DoNotConvert,然后在发送一次邮件给dctest001。
图11
这个时候收到的NDR正好是我们想要的。如图12所示。由于我们将该参数设置为DoNotConvert,所以Exchange Server 2007没有修改DSN,并且将原来的邮件作为附件附加上。
图12
如果我们运行Set-transportConfig -DSNConversionMode PreserveDSNBody命令的话,这个时候NDR中不包含原来的邮件。如图13所示。
Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...
07-05
Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...
07-05
KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...
07-05
Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...
07-05