向Exchange 组或是收件人传送邮件速度慢的解决

这也部分论坛中的用户向我提出的问题;今天找到了一个答案及解决办法:

症状

当您向一个具有传送限制的用户或组发送电子邮件时,邮件传送速度可能比预期的要慢。有些情况下,邮件在被传送前可能要在 Exchange 邮件分类器中滞留几分钟到几小时。

原因

如果您对上述用户或组配置了传送限制,以便基于通讯组或通用安全组成员身份拒收邮件,就可能发生此问题。例如,您在该用户帐户或通讯组属性的“Exchange 常规”选项卡上,单击“邮件限制”下的“来自每个人,除了”,然后在例外列表中添加了一个通讯组。

如果您将电子邮件发送给一个收件人,而该收件人已被配置了一条限制规则,该规则拒绝接收来自特定通讯组或安全组成员的邮件,那么,Exchange 2000 Server 就必须展开该组,检查发件人是不是受限组的成员。Exchange 2000 Server 不会缓存此次组展开的结果,因而每次都要执行展开。如果您向一个包含很多收件人的组发送邮件,而这些收件人都分别配置了一条传送限制规则,该规则拒绝接收那些由包含许多成员的通讯组的成员发送的邮件,则 Exchange 2000 Server 必须为您向其发送邮件的组的每个成员分别展开一次受限通讯组。此外,如果在此过程中发生了一个允许重试的故障,Exchange Server 就会停止组展开过程,然后在一个小时后重试此连接。这会导致邮件滞留在分类器队列中并可能延迟邮件处理过程。

替代方法

要解决此问题,请将您打算拒收其邮件的用户单独放在一个路由组里,然后创建基于连接器限制的传送限制:
1.在 Exchange 系统管理器中,创建一个新的路由组,让该组包含您打算对其所发邮件进行限制的所有用户。 有关如何创建路由组的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
266744 XADM:How to Create a Routing Group
319416 HOW TO:Use Routing Group Connectors to Connect Routing Groups in Exchange 2000
2.创建一个从包含非受限用户的路由组到包含受限用户的新路由组的 SMTP 连接器。这样可以确保来自非受限电子邮件收件人的邮件成功地传送到受限用户的邮箱中。为此,请按照下列步骤操作:
a. 在非受限路由组(如“第一个路由组”)下,右键单击“连接器”,指向“新建”,然后单击“SMTP 连接器”。
b. 在“名称”框中,键入一个描述性的名称。例如,键入 Allow messages to restricted users
c. 单击“将通过此连接器的所有邮件转发到下列智能主机”,然后键入属于受限路由组的智能主机的名称或 IP 地址。IP 地址必须用方括号 ( [] ) 括起来。
d. 在“本地桥头”下,单击“添加”,单击来自非受限路由组的 SMTP 虚拟服务器,然后单击“确定”。
e. 单击“连接的路由组”选项卡,然后单击“添加”。
f. 在“路由组”列表中,单击受限路由组,然后单击“确定”。
g. 单击“应用”,然后单击“确定”。
3.创建一个从受限路由组到非受限路由组的 SMTP 连接器。这是为了防止受限用户发送的邮件积压在受限路由组内的“无法到达目的地”队列中。为此,请按照下列步骤操作:
a. 在受限路由组下,右键单击“连接器”,指向“新建”,然后单击“SMTP 连接器”。
b. 在“名称”框中,键入一个描述性的名称。例如,键入 Block messages to non-restricted users
c. 在“本地桥头”下,单击“添加”,单击来自受限路由组的 SMTP 虚拟服务器,然后单击“确定”。
d. 单击“将通过此连接器的所有邮件转发到下列智能主机”,然后键入被配置为删除邮件或返回邮件的智能主机的名称或 IP 地址。例如,键入您用作桥头服务器的服务器的 IP 地址并将该地址用方括号 ([]) 括起来。这样做就是创建一个回路,邮件将被作为无法传送的邮件返回。尽管此方法确实将邮件作为无法传送的邮件返回,但是未送达报告 (NDR) 代码将指出无法传送邮件的原因是存在回路而不是存在传送限制。
e. 单击“连接的路由组”选项卡,然后单击“添加”。
f. 在“路由组”列表上,单击非受限路由组,然后单击“确定”。
g. 单击“应用”,然后单击“确定”。
4.因为在第 3 步中进行的路由组连接器配置会阻止您可能要允许在这些路由组之间传送的 NDR 邮件和传送状态通知 (DSN),因此需要修改受限路由组中的路由组连接器,以便不将其用于系统邮件:
a. 右键单击在受限组中创建的新路由组 SMTP 连接器,然后单击“属性”。
b. 单击“内容限制”选项卡,然后单击以清除“允许类型”下的“系统邮件”复选框。
c. 单击“应用”,然后单击“确定”。
5.在受限路由组中另外创建一个允许系统邮件通过的 SMTP 连接器:
a. 在受限路由组下,右键单击“连接器”,指向“新建”,然后单击“SMTP 连接器”。
b. 在“名称”框中,键入一个描述性的名称。例如,键入 Allow System messages
c. 单击“将通过此连接器的所有邮件转发到下列智能主机”,然后键入属于非受限路由组的智能主机的名称或 IP 地址。
d. 在“本地桥头”下,单击“添加”,然后添加来自受限路由组的 SMTP 虚拟服务器。
e. 单击“内容限制”选项卡,然后单击以清除“非系统邮件”复选框。
f. 单击“连接的路由组”选项卡,然后单击“添加”。
g. 在“路由组”列表中,单击非受限路由组,然后单击“确定”。
h. 单击“应用”,然后单击“确定”。
6.要使受限路由组中的用户可以通过 Internet 发送电子邮件,请另外创建一个开销较低的 SMTP 连接器,使其与其他通往 Internet 的连接器具有一样的地址空间,但将此路由组用作连接器作用域:
a. 在受限路由组下,右键单击“连接器”,指向“新建”,然后单击“SMTP 连接器”。
b. 在“名称”框中,键入一个描述性的名称。例如,键入 Allow Internet access
c. 在“本地桥头”下,单击“添加”,然后添加来自受限路由组的 SMTP 虚拟服务器。
d. 单击“地址空间”选项卡,单击“连接器作用域”下的“路由组”,然后单击“添加”。
e. 单击“SMTP”,单击“确定”,然后再次单击“确定”。

注意:这一步采用以星号 (*) 表示的默认 SMTP 地址空间。修改这些设置以指定在您的组织中使用的地址空间。为此地址空间显示的开销必须低于您创建的其他 SMTP 连接器的开销。
f. 单击“应用”,然后单击“确定”。
注意:此变通解决办法仅将路由作为限制传送的手段,而且它可以扩展,不会受到受限路由组中用户数量的限制。
来源: http://support.microsoft.com/default.aspx?scid=kb;zh-cn;329171
对本文有任何问题请到钉子的论坛讨论: http://www.5dmail.net/bbs
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的Java 8的Exchange邮箱的收件箱收取指定日期的邮件的示例代码: ```java import java.util.*; import javax.mail.*; import javax.mail.search.*; import com.sun.mail.imap.*; public class ExchangeEmailDemo { public static void main(String[] args) throws Exception { // 设置邮箱账户和密码 String username = "your_email@your_exchange_server.com"; String password = "your_password"; // 创建一个会话 Properties props = new Properties(); props.setProperty("mail.store.protocol", "imaps"); props.setProperty("mail.imaps.host", "your_exchange_server.com"); props.setProperty("mail.imaps.port", "993"); Session session = Session.getInstance(props); // 连接邮箱 Store store = session.getStore(); store.connect(username, password); // 获取收件箱 Folder inbox = store.getFolder("INBOX"); inbox.open(Folder.READ_ONLY); // 设置搜索条件为指定日期 Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2022); cal.set(Calendar.MONTH, Calendar.JANUARY); cal.set(Calendar.DAY_OF_MONTH, 1); SearchTerm searchTerm = new ReceivedDateTerm(ComparisonTerm.EQ, cal.getTime()); // 搜索符合条件的邮件 Message[] messages = inbox.search(searchTerm); // 打印搜索结果 for (int i = 0; i < messages.length; i++) { Message message = messages[i]; System.out.println("Subject: " + message.getSubject()); System.out.println("From: " + message.getFrom()[0]); System.out.println("Sent Date: " + message.getSentDate()); System.out.println(); } // 关闭邮箱连接 inbox.close(false); store.close(); } } ``` 需要注意的是,此示例代码使用JavaMail和Java Activation Framework(JAF)库。如果您尚未安装这些库,请先下载并将它们添加到您的项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值