Email路由器(Router)之故障排除
这篇文章将会给你一些步骤和其他信息的链接,关于对你点击Test Access测试电子邮件路由器(Email Router)配置时可能会遇到的不同错误进行故障排除。
为了对Email路由器故障排查,你需要知道用户设置的Email访问配置是什么。你可以通过在CRM中的Settings-Application-Users来查看每个用户的记录。每个用户可能有不同的配置文件,如下所示。
更多信息,请参阅的Email路由器方案文件。
故障排除Incoming Email
如果你有一个错误的类型HTTP 401(未经授权)
确保用户已经登录过邮箱,这样邮箱被激活,然后再点击“Test access”。另外,验证该邮箱是否可以接收E-mail。
检查E-mail路由器的Incoming配置文件
1. 验证在Exchange服务器输入正确的连接。
a. http(s)://myexchangeserver
b. http(s)://www.myexchangeserver.local
• 你不应以"/ OWA"或"/Exchange"结尾,甚至一个简单的"/"。
2. 检查访问凭据,看看他们设置为哪个(LocalSystem, UserSpecified, OtherSpecified)。
请确保已设置的用户访问凭据具有充分的访问邮箱的权限。为了测试这一点,尝试使用在Incoming配置文件的帐户登录到路由器(Router)机器(或做一个运行在IE浏览器),然后尝试用你目前测试的用户访问OWA URL(https://exchangeserver/Exchange/crmuser)
为将邮箱权限给访问Incoming配置文件的用户,您可以参考如下这些链接设置Exchange2003上的权限
https://technet.microsoft.com/en-us/library/aa998707(EXCHG.65).aspx
在Exchange 2007的邮箱上设置权限
https://technet.microsoft.com/en-us/library/bb124097(EXCHG.80).aspx
https://mostlyexchange.blogspot.com/2007/02/granting-permissions-to-mailboxes-in.html
3. 如果User Specified被配置用于访问,请确保你用于连接的用户,同时也是路由器将会用于访问用户邮箱的用户的用户名和密码被设置在Tools-Options。
注: 在E-mail路由器监控用户邮箱的场景下使用User Specified选项。这个场景适用于用户将E-mail配置的Incoming 配置文件设置成Email Router。
如果你有一个错误类型的HTTP 400(错误的请求),HTTP 404(未找到),HTTP 502错误的网关,或远程域名无法解析:
确保您在E-mail路由器Incoming配置文件中输入的Exchange连接是正确的,语法必须是:
1.http(s)://myexchangeserver
2.http(s):// www.myexchangeserver.local
• 你不应以"/ OWA"或"/Exchange"结尾,甚至一个简单的"/"。
在Exchange Server上检查报错发生的虚拟目录的IIS日志(Exadmin或Exchange)
1. IIS 6 - %SystemDrive%\WINDOWS \ SYSTEM32\LogFiles
2. IIS 7 - %SYSTEMDRIVE%\inetpub\logs\ Logfiles
Exadmin或Exchange虚拟目录是否需要SSL?
• 如果是的话,在设置Incoming配置文件时,确保在Exchange连接中包含https。
检查是否有一个有效的证书。
1.不要使用selfssl生成的证书
2.尝试在IE浏览器输入Incoming配置文件中设置的连接
a. https://servername/exchange/usermailbox
b.是否有任何证书错误?
检查Exchange 2007角色是否分离
• 如果Exchange Server角色在不同机器上,确保使用邮箱服务器角色的Exchange服务器来创建Incoming配置文件。
如果你有一个错误的HTTP 404(Not Found)
对于Exchange 2007
连接到Exchange服务器(邮箱服务器),并且进入IIS管理控制台,验证我们用于连接邮箱的虚拟目录(Virtual Directory)呈现出来("Exadmin"或"Exchange")。
要做到这一点,展开INETMGR 的默认网站,并检查Exadmin文件夹是存在的。
如果不是,这可能是你的问题,你需要重建它。下面的知识库文章给出了一个方法来重新创建活动目录对象/ IIS元数据库中遗漏的项目。https://support.microsoft.com/kb/947802您无法在具有Client Access Server(CAS)角色的服务器上通过使用Exchange虚拟目录连接到群集Exchange 2007服务器。
这个问题可能是CRM用户E-mail地址信息问题。E-mail地址需要被CRM验证(检查是否有误输入)。
对于Exchange 2003
我们需要确保的E-mail地址登录信息与用户域名登录信息相同。
例如:用户1在CRM用户表中属性设置如下:
域名:DOMAIN\USER1
E-mail地址:user1@domain.com
=>这能工作!
用户2具有以下属性:
域名:DOMAIN\user2
E-mail地址:CRM.User@domain.com
=>这将失败!
目前,当用户遇到此问题,我们有一个解决办法。如下是基于上面的例子如何做。
注意:如果您使用的是Exchange 2007,您不应该面对这个问题。
1.确保CRM用户属性被设置为希望的E-mail地址(CRM.User@ domain.com)
2.使用配置管理器配置Email路由器,并发布更改。
3.停止E-mail
路由器服务。用编辑器(如记事本)打开Microsoft.Tools.Crm.EmailAgent.Xml文件。
4.在文件的顶部,设置ConfigUpdatePeriod = 0
5.修改每一个CRM用户Incoming配置文件如下:
<ProviderConfiguration
deploymentId="071e0a6e-649a-44da-a658-79dbffccfbe8">
<ProviderAssembly>Microsoft.Crm.Tools.EmailProviders.dll</ProviderAssembly>
<ProviderClass>Microsoft.Crm.Tools.Email.Providers.ExchngePollingMailboxProvider</ProviderClass><CrmServerUrl>https://crmserver:5555/MSCRMOrg</CrmServerUrl>
<CrmAuthMode>WindowsAuthentication</CrmAuthMode>
<EmailServer>https://mail.ex.com</EmailServer>
<EmailAuthMode>WindowsAuthentication</EmailAuthMode>
<EmailUser>DOMAIN\User2</EmailUser>
<EmailPassword>{2A48C4DB-F2BFZ3g==@MkoEoFd1wvV8bY8UijX7VA==</EmailPassword>
<EmailAddress>CRM.User@domain.com</EmailAddress>
<Target>User2</Target>
<Direction>Inbound</Direction>
etc…..
只修改后缀:CRM.User到User2:<EmailAddress>User2 @ domain.com <EmailAddress >
6.保存文件并重新启动E-mail 路由器服务。
注意:无需执行测试访问,这将无法正常工作!如果你想检查路由器是否工作,监控跟踪和错误,并做真正的测试。测试访问会直接使用CRM服务器的信息,而不是从文件,因此“修复”将不会被使用。
如果测试访问成功,但你在E-Mail邮件处理时在应用程序事件日志中收到404错误。
如果Exchange
2007部署于Windows 2008(IIS7),有一个已知的问题。如果您检查IIS日志你会发现,这404错误的确切状态是:
Request Filtering: Denied because URL doubled escaping 404.11
为了解决这个问题,你需要在Exchange网站上运行允许双层转义的命令:
%windir%\system32\inetsrv\appcmd set config "Default Web Site" -section:system.webServer/security/requestfiltering -allowDoubleEscaping:true
更多信息
https://technet.microsoft.com/en-us/library/cc754791.aspx
https://learn.iis.net/page.aspx/143/how-to-use-request-filtering/
如果你有一个错误类型的HTTP 440(登录超时)
- 这通常是由于不使用Windows身份验证(只支持身份验证方法),而使用基于表单的身份验证。您需要在邮箱服务器上更改身份验证模式为Windows身份验。https://support.microsoft.com/kb/954047
- 确保Incoming配置文件的Exchange邮件服务器指向Exadmin和Exchange虚拟目录。
您也可以检查一下:https://blog.networkfoo.org/?p=195
故障排除外发电子邮件
“发送状态:失败 - 在检查连接到E-mail服务器EXSERVERNAME时出错。在其上下文中,该请求的地址无效”
如果在测试访问时发送测试失败:
执行一个简单的telnet命令来验证CRM路由器和Exchange之间连接是通畅的。
例如:TELNET EXSERVERNAME PORT
- 确保你没有任何杀毒服务阻止25端口访问。
- 配置SMTP服务器,以允许传送Microsoft Dynamics CRM的邮件,配置步骤请参阅https://support.microsoft.com/kb/915827。
故障排除加载数据
当点击加载数据,您会收到以下错误。
Email路由器配置管理器无法从Microsoft Dynamics CRM服务器检索到用户和队列信息。这可能表明在Microsoft Dynamics CRM服务器正忙。验证'https://hansoncrm5:5555/MSCRm"连接是正确的。此外,如果指定的访问凭据权限不足也可能导致此问题。再试一次,单击“加载数据”。(连接中的组织名称是区分大小写的。您必须输入Microsoft Dynamics CRM服务器连接相应的组织名称。启动Web的应用程序来查看出现在Microsoft Dynamics CRM服务器上的组织名称。该组织名称会显示在应用程序右上角)。
- 请确保在Active Directory中运行Microsoft CRM Email路由器服务的帐户已添加到PrivUserGroup安全组。
- 指定帐户的访问凭据需要是CRM管理员。如果访问凭据设置为本地系统,则计算机帐户必须在Active Directory中的PrivUserGroup安全组中。
- 请确认连接拼写正确,因为它的组织名称是区分大小写的。
- 如果你已经修改了网站的端口或hostheaders,DeploymentProperties表可能有不正确的值。更新DeploymentProperties表见https://support.microsoft.com/kb/950248
其他信息
如果无法启动Microsoft CRM电子邮件路由器服务
https://support.microsoft.com/kb/954522
Incoming状态:失败-Email路由器服务配置参数“Emailuser”缺失。此参数是必需的
https://support.microsoft.com/kb/947094
电子邮件路由器方案
如何开启跟踪功能的blog
E-Mail连接器跟踪工具的blog
https://blogs.msdn.com/benlec/archive/2008/07/02/crm-4-0-e-mail-connector-logger-tool.aspx
故障排查blog
https://blogs.msdn.com/benlec/archive/2008/07/02/crm-4-0-e-mail-connector-logger-tool.aspx
Exchange虚拟目录信息
https://technet.microsoft.com/en-us/library/aa998849(EXCHG.80).aspx
谢谢!
Wilson Lou(娄森伟)
原文地址: