Answers:
首先,您需要告诉Outlook要去哪里。在DNS中使用SRV记录指向包含您的Autodiscover.xml文件的服务器:
_autodiscover._tcp.mydomain.com. 3600 IN SRV 10 10 443 my-web-server.mydomain.com.
在此处使用PHP脚本:http : //virer.net/info/ol-autodiscover/index.html将Autodiscover.xml文件返回给客户端。它嵌入了一些PHP,因此您可以根据输入到Outlook中的电子邮件地址返回不同的值。(如果要使用一个自动发现文件通过一个配置脚本返回多个域/客户端的结果,则很有用)。
该脚本在您的网络服务器上运行之后,请确保使用有效证书启用HTTPS,以便Outlook在尝试下载它时不会引发错误。
刚刚在我的Linux服务器上配置了自动发现。现在,几乎所有可能的客户端中都自动设置了邮件。
这是使用POP3 / IMAP设置来设置自动发现的简单解决方案。
DNS:
_autodiscover._tcp.yourdomain.com. 3600 IN SRV 10 10 443 mail.yourmx.com.
PHP(autodiscover.php):
<?php
preg_match("/\<EMailAddress\>(.*?)\<\/EMailAddress\>/", $data, $matches);
//set Content-Type
header("Content-Type: application/xml");
?>
<?php echo '<?xml version="1.0" encoding="utf-8" ?>'; ?>
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
<Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
<Account>
<AccountType>email</AccountType>
<Action>settings</Action>
<Protocol>
<Type>POP3</Type>
<Server>mail.yourmx.com</Server>
<Port>995</Port>
<LoginName><?php echo $matches[1]; ?></LoginName>
<DomainRequired>off</DomainRequired>
<SPA>off</SPA>
<SSL>on</SSL>
<AuthRequired>on</AuthRequired>
<DomainRequired>off</DomainRequired>
</Protocol>
<Protocol>
<Type>IMAP</Type>
<Server>mail.yourmx.com</Server>
<Port>993</Port>
<DomainRequired>off</DomainRequired>
<LoginName><?php echo $matches[1]; ?></LoginName>
<SPA>off</SPA>
<SSL>on</SSL>
<AuthRequired>on</AuthRequired>
</Protocol>
<Protocol>
<Type>SMTP</Type>
<Server>mail.yourmx.com</Server>
<Port>465</Port>
<DomainRequired>off</DomainRequired>
<LoginName><?php echo $matches[1]; ?></LoginName>
<SPA>off</SPA>
<SSL>on</SSL>
<AuthRequired>on</AuthRequired>
<UsePOPAuth>on</UsePOPAuth>
<SMTPLast>off</SMTPLast>
</Protocol>
</Account>
</Response>
</Autodiscover>
.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ autodiscover.php [NC,L]
注意!记住要获得一个签名的SSL证书。
实际上,如果您的客户端是Outlook(我假设是因为您说他们正在查找autodiscover.xml),那么如果要使用POP / IMAP和SMTP,则想使用Guessmart进行自动配置。Guessmart基本上是Outlook,它使用您的电子邮件地址和密码使用常见的POP / IMAP / SMTP端口尝试各种主机名,直到找到可以成功登录的主机名为止。Outlook中的用户体验与自动发现相同,但适用于非Exchange服务器。
您可以通过在ctrl中右键单击通知托盘Outlook图标并选择“测试电子邮件自动配置”来在Outlook中测试所有这些内容。取消选中自动发现并测试Guessmart以查看Outlook的工作方式。
不,自动发现是Exchange特有的,您将无法在该环境之外正常工作。
它不仅是.xml文件,而且涉及自动发现时还有很多事情在起作用。
为了给您一些快速的背景知识,请通读本文,您将对它有个更好的了解。