Exchange 2013/2016邮件队列重播操作

我们经常遇到需要将传输队列中的邮件进行重播的情况,下面简单介绍如何操作:

Exchange传输邮件是先应用程序将需要发送的邮件进行一个格式转换,转换为eml格式的文本文件,然后又Pickup(分拣程序)将.eml文件放置在C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Pickup目录下,然后又SMTP入站服务器将邮件提交道SMTP服务数据库中进行传输。需要注意eml文件必须满足如下要求:

1)、仅仅只有扩展名称为.eml的文件才能被Exchange的Pickup程序处理。

2)、eml文件中To,cc,Bcc列必须有正确的SMTP地址格式。(也就是收件人地址或抄送地址必须是正确的SMTP地址)

3)、eml文件中From或Sender列必须有一个SMTP地址。

4)、对应明文邮件,正文和邮件头之间必须有空格。(MIME的加密邮件没有这个要求)

5)、eml文件中邮件头大小最大为64KB,并且要求收件人不要超过100人。

一般通过命令AssembleMessage导出的eml格式都是符合要求的。下面是Exchange的SMTP服务器工作过程。

下面介绍Exchange 2013/2016如何重播队列操作方法。

1、通过命令获取特定队列信息。

Get-Queue -Filter {MessageCount -gt 10 }   获取消息数量大于10的队列。

2、使用命令将需要进行操作队列进行搁置。(要导出队列数据必须将该队列中的所有传输中的邮件的状态设置为搁置。不然会收到如下错误信息)

Get-Message -Queue  CLDB02\7  | Suspend-Message  -Confirm:$False

3、使用如下命令将需要重播队列中的邮件导出为eml格式。(具体可以参考:

[email protected](Get-Message -Queue  CLlDB02\7)

$theMessages | foreach {$i++; Export-Message $_.Identity | AssembleMessage –path ("c:\3\"+$i+".eml")}

命令:  AssembleMessage  是必须的,必须有该命令对导出的文件二进制流进行转换和筛选。

4、将导出的.eml文件复制到Pickup目录下(获取Pickup目录位置可以通过命令:Get-TransportService -Identity clmaildb01 | fl name,*pickup*,查看PickupDirectoryPath的目录位置),即可进行邮件队列重播,例如:C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Pickup。

关于导出邮件队列数据可以参考:https://technet.microsoft.com/en-us/library/aa998625(v=exchg.160).aspx

导出服务器上某个域名邮件队列邮件:

Get-Message -Queue "Server1\contoso.com" -ResultSize Unlimited | ForEach-Object {Suspend-Message $_.Identity -Confirm:$False; $Temp="C:\ExportFolder\"+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}

导出某个服务器上所有的邮件队列:

Get-Message -Filter {<MessageFilter>} [-Server <ServerIdentity>] -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}

时间: 09-04

Exchange 2013/2016邮件队列重播操作的相关文章

「深入 Exchange 2013」17 队列 part2

队列速率 大多数新手管理员都能理解"队列"是某种系统或者组件的性能指标.比如磁盘I/O队列,CPU队列等等.Exchange 2013中邮件队列的运行效率是通过队列的三个属性来计算的.传入率(IncomingRate)和传出率(OutgoingRate)属性代表邮件进入和离开邮件的速率.速率(Velocity)为传出率减去传入率得到的队列消耗速率值.除了以上三个值,还应当考虑邮件数量(MessageCount)属性,该属性显示一个队列中的邮件数量.管理员应该将这些属性综合起来判断一个队

Exchange 2013/2016动态通讯组成员查询

按照官网介绍的方法查询Exchange 2013/2016 动态通讯组成员,有时候无法正常获取到通讯组成员列表.官网的地址为:https://technet.microsoft.com/zh-cn/library/bb232019(v=exchg.150) 如果动态通讯组的筛选条件中指定了规则是按照收件人容器(OU)进行筛选成员,那么使用如下命令获取动态通讯组成员,获取到的结果会不正确,会将所有邮箱的列表获取出来. $FTE = Get-DynamicDistributionGroup "Ful

「深入 Exchange 2013」18 队列 part3

队列优先级 Exchange 2013当中,微软增加了一个"优先队列"的功能,打开它时,被标记为高优先级的邮件会比一般邮件先传送,而被标记为低优先级的邮件则会比一般邮件后传送:开启该功能之后呢,分拣器和路由算法不会受到任何影响,仅仅只是传输服务会在每个投递队列里按照优先级排列邮件. 队列优先级的设置主要通过修改EdgeTransport.exe.config配置文件的键值的方式来进行,首先通过PriorityQueuingEnabled键值设置为True开启该功能,接着按照需要调整下表

exchange 2013 2016 共存环境 访问2016报HTTP 500错误

环境: exchange 2013 cu20新加入 exchange 2016 cu11 故障:登陆ex2016 ECP/OWA报HTTP 500错误登陆EX2016 EMS 报错一大堆还有很多乱码无法登陆,登陆2016不成功后自动登录到2013 说明: 此故障先后持续了半个多月吧,所有的测试都正常.日志没有明显报错.各种办法都试了(一直感觉跟IIS和web.config有关系,但能力有限又找不到问题),好在坚持着没有放弃. 关键错误信息:在一天早上再次登陆EMS时发现下面有个信息,抱着试试看的

Exchange 2013 配置邮件流

配置邮件流 估计完成时间:少于 5 分钟 您需要在邮箱服务器上创建发送连接器,才能将邮件发送到 Internet. 我该如何做? 浏览至您的客户端访问服务器的 URL,打开 EAC.例如,https://Ex13/ECP. 浏览至您的 Exchange 服务器的 URL,打开 EAC.例如,https://Ex13/ECP. 在"域名\用户名"和"密码"中输入用户名和密码,然后单击"登录". 转到"邮件流">"

Exchange 2013\2016共存邮箱登录报错

问题描述: 有Exchange 2013 2台全角色服务器(A和B),新部署了一台Exchange 2016服务器(C),配置完Exchange 2016之后,出现如下问题: DNS记录指向服务器A时,可以正常登录2013.2016邮箱账户: DNS记录指向服务器B时,可以正常登录2013邮箱账户,登录2016邮箱账户出现如下报错 DNS指向服务器C(Exchange 2016)时,可以正常登录2016邮箱账户,登录2013邮箱账户出现如下报错 解决方法: 打开EMS,输入gpresult /s

Exchange 2013/2016 OWA无法访问邮件正文

问题描述 Exchange 2016 CU9 | 用户使用OWA查看邮件正文时,偶尔出现以下报错:排查过程 1. 检查服务器上的应用程序日志和系统日志,发现有143报错,显示OWA无法加载RMS templates. 2. 检查RMS设置,发现RMS是enabled状态.但是据客户反应,RMS服务器和RMS功能目前是不可用状态. 3. 从以下层面讲RMS功能禁用: 1) IRMConfiguration Set-Irmconfirguation -InternalLicensingEnable

Exchange 2013/2016如何删除指定的邮件

管理员本身需要加入organization Management, Domain admins, Enterprise admins, Schema admins; 此外,把管理员加到 "Discovery Management"组: 再给管理员加额外权限:   New-ManagementRoleAssignment –Role "Mailbox Import Export" –User tinno\administrator 添加权限后,我们发现可以执行sear

How to Access the Exchange (2013/2016) Admin Cente

When trying to access the Exchange Admin Center on either an Exchange 2016 or 2013 server with your Admin user account, you could potentially see an error (500 Unexpected Error) or get redirected to an older Exchange (2010 or 2013) and therefore not