如何导出并重新提交邮件

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上一次修改主题: 2007-01-02

本主题将介绍如何使用 Exchange 命令行管理程序,从运行 Microsoft Exchange Server 2007 并且已安装集线器传输服务器角色或边缘传输服务器角色的计算机上的队列中导出并重新提交邮件。不能使用 Exchange 队列查看器执行此任务。但在执行此任务之前,可以使用队列查看器查找、标识和挂起邮件。

将邮件从队列导出到文件时,不会从队列中删除邮件。将在指定的位置以纯文本文件的形式生成邮件副本,该副本使用文件扩展名 .eml。可以使用 Exchange 组织内部或外部的任何集线器传输服务器或边缘传输服务器上的重播目录,来重新提交生成的 .eml 文件。

开始之前

若要执行下列步骤,必须为您使用的帐户委派下列角色:

  • Exchange Server 管理员角色和目标服务器的本地 Administrators 组

若要在安装了边缘传输服务器角色的计算机上执行以下步骤,必须使用作为该计算机上的本地 Administrators 组成员的帐户进行登录。

有关管理 Exchange Server 2007 所需的权限、角色委派以及权利的详细信息,请参阅权限注意事项

使用重播目录重新提交导出的邮件之前,必须执行下列步骤:

  1. 验证与目标目录位置有关的以下信息:

    • 导出任何邮件之前,目标目录必须存在。系统不创建该目录。如果未指定绝对路径,则使用当前的 Exchange 命令行管理程序工作目录。

    • 该路径可以是运行 Exchange 2000 Server 的服务器上的本地路径,也可以是远程服务器上某个共享的通用命名约定 (UNC) 路径。

    • 帐户必须拥有对目标目录的写入权限。

  2. 找到并标识要导出的邮件。有关如何查看邮件的信息,请参阅如何查看邮件

  3. 挂起要导出的邮件,以防在导出过程中传递这些邮件。要使导出过程成功,邮件必须处于已挂起状态。可以从远程传递队列、邮箱传递队列、无法访问的队列或带毒邮件队列导出邮件。带毒邮件队列中的邮件已处于已挂起状态。不能挂起或导出提交队列中的邮件。有关如何挂起邮件的信息,请参阅如何挂起邮件

  4. 定义要导出的邮件的作用域。可以导出特定队列中的单个邮件或所有邮件,也可以导出任何队列中与特定标准匹配的邮件。有关如何从队列中导出邮件的详细信息,请参阅如何从队列中导出邮件

导出队列并重新提交

从队列中导出邮件以重新提交时,请考虑下列两个基本方案:

  • 从队列中导出邮件以立即重新提交   此方案涉及到将队列中的邮件直接导出到本地服务器的重播目录,或者通过将驱动器号映射到远程服务器的重播目录,将邮件导出到任何远程集线器传输服务器或边缘传输服务器。

  • 从队列中导出邮件以进行延迟重新提交   此方案涉及到将队列中的邮件导出到本地目录,然后将邮件文件手动复制到当前服务器上的重播目录,或复制到远程集线器传输服务器或边缘传输服务器上的重播目录。

两种方案的导出步骤相同。唯一差别在于导出的邮件的目标目录。如果目标目录是远程 Exchange 2007 集线器传输服务器或边缘传输服务器上的重播目录,则首先可以更方便地将邮件文件导出到本地目录。如果远程 Exchange 2007 服务器位于其他域、林或子网中,则排除并修复在手动复制文件过程中发生的任何问题,比排除并修复在导出邮件过程中发生的任何问题更加容易。

计划将排队的邮件导出到文件以进行重新提交时,还应考虑以下列表中列出的事项:

  • 从队列中导出邮件不会从该队列中删除邮件。导出邮件并使用重播目录成功地重新提交这些邮件后,应删除挂起的邮件,以防重复提交邮件。有关如何从队列中删除邮件的详细信息,请参阅如何从队列中删除邮件

  • 如果为一个已经存在的目录指定导出路径,则可以使用自动文件命名将邮件导出到文件。如果目标目录已存在,则每封邮件的文件名将自动设置为 InternalMessageID.eml,其中 InternalMessageID 是当前正在处理邮件的 Exchange 2007 服务器分配的邮件标识符。

  • 如果邮件文件将由重播目录处理,则这些文件必须满足下列要求:

    • 文件必须使用纯文本格式。支持 MIME 扩展名。

    • 文件必须带有 .eml 文件扩展名。

    • 文件必须至少包含 X-Sender: 头字段中的一个有效电子邮件地址,以及 X-Receiver: 头字段中的一个有效电子邮件地址。

    已针对重播目录,为从 Exchange 2007 队列中导出的邮件正确地设置了格式。

  • 集线器传输服务器或边缘传输服务器上的默认位置为 C:\Program Files\Microsoft\Exchange Server\TransportRoles\Replay。可以在 Set-TransportServer cmdlet 中使用 ReplayDirectoryPath 参数更改此位置。如果 ReplayDirectoryPath 值设置为 $null,则会禁用重播目录。

将邮件从队列直接导出到本地重播目录以立即传递

使用 Exchange 命令行管理程序将邮件从队列直接导出到本地重播目录以立即传递

  1. 运行以下命令:

    Get-Message -Queue "<QueueIdentity>" | Export-Message -Path "<LocalReplayDirectoryPath>"
    

    例如,若要将所有邮件的副本从本地 Exchange 2007 服务器上的“Contoso.com”远程传递队列导出到默认的分拣目录,请运行以下命令:

    Get-Message -Queue "contoso.com" | Export-Message -Path "C:\Program Files\Microsoft\Exchange Server\TransportRoles\Replay"
    
  2. 确定已成功传递邮件后,删除已从 Exchange 2007 源服务器上的队列中导出的已挂起邮件。

将邮件从队列导出到本地目录以进行延迟传递

使用 Exchange 命令行管理程序将邮件从队列导出到本地目录以进行延迟传递

  1. 运行以下命令:

    Get-Message -Queue "<QueueIdentity>" | Export-Message -Path "<LocalDirectoryPath>"
    

    例如,若要将所有邮件的副本从名为 Exchange01 的服务器上的“Contoso.com”远程传递队列导出到本地计算机上的目录“C:\Contoso Export”,请运行以下命令:

    Get-Message -Queue "Exchange01\contoso.com" | Export-Message -Path "C:\Contoso Export"
    
  2. 将导出的邮件文件复制到另一集线器传输服务器或边缘传输服务器上的重播目录。

  3. 确定已成功传递邮件后,删除从 Exchange 2007 源服务器上的队列中导出的已挂起邮件。

有关语法和参数的详细信息,请参阅 Get-Message

详细信息

有关队列的详细信息,请参阅管理队列