调整Exchange接收连接器延迟参数解决SMTP代发送邮件问题

 

       Exchange在企业应用中,经常会有各种应用程序需要调用Exchange的SMTP服务来发送各知系统通知邮,如:OA、HR、E-flow签核系统等。

       最近,碰到一个案例,用户反映某E-Flow签核系统的SMTP邮件通知功能迁移到2010后,E-Flow签核在提交和签核过程中变的很慢,有时还会发生超时,而无法完成E-Flow签核流程!

       收到用户反映后,向E-Flow系统开发人员了解到,以前用的是Exchange 2003的SMTP服务,没有发现过,此问题是改到2010后出现的,所以重点怀疑Exchange 2010 SMTP的原因!

       进一步了解到,此E-flow系统在所有提交、签核时都会生成邮件通知相关的用户。为了确保邮件通知成功,每提交一个邮件到SMTP服务器,都需要得到SMTP服务的确认,正是在提交的时候,大约需要等30秒左右,才能显示提交成功、或是签核完成!

       在查看Exchange SMTP中继相关文章时,从官网找这个文章:

       https://technet.microsoft.com/zh-cn/library/hh529935(v=exchg.141).aspx

       从exchange 2010开始,针对队列引入了“卷影冗余”功能,该功能可在整个传送过程中为邮件提供冗余。使用卷影冗余,将延迟从传输数据库删除邮件,直至传输服务器确认该邮件的所有下一跃点都已完成传递。 Exchange 2010 传输服务器从非 Exchange 2010 源接收邮件时,Exchange 会尝试通过延迟对发送服务器的确认,直到确认邮件已成功在内部传递到所有后续跃点,来实现卷影冗余。这样,如果 Exchange 2010 服务器失败,则发送邮件服务器会假设邮件从未传递到 Exchange 并将再次尝试传递。相了解更多关于“卷影冗余”的功能介绍,可参考官方文档:https://technet.microsoft.com/zh-cn/library/dd351027(v=exchg.141).aspx

       正是因为此功能:“Exchange会尝试通过延迟对发送服务器的确认”,所以E-Flow系统一直没有收到关于邮件是否完成传递的通知,一直在等待中,直到SMTP服务返回完成传递的通知后,才进行到下一步!

       使用Get-ReceiveConnector -Identity " SMTP Application relay " | format-list

查看 -MaxAcknowledgementDelay 属性,值为30秒!正好和用户反应的,点一次提交或是签核,需要等30秒左右时间!

clip_image001

       即:SMTP服务收到E-Flow系统发过来的SMTP请求,需要30秒后才会回复服务器确认信息。

依官方的介绍,可以尝试降低延迟确认时间或是完全禁用!因为此连接器专门提供给应用程序来作SMTP Relay功能,所以直接禁用!

       Set-ReceiveConnector "SMTP Application relay" -MaxAcknowledgementDelay 0

clip_image002

       重启SMTP服务后,用户反应问题得到解决!

       此现象在Exchange 2010/2013同样适用!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值