回答:
まず、Outlookの場所を指定する必要があります。Autodiscover.xmlファイルを含むサーバーを指すDNSのSRVレコードを使用します。
_autodiscover._tcp.mydomain.com. 3600 IN SRV 10 10 443 my-web-server.mydomain.com.
http://virer.net/info/ol-autodiscover/index.htmlの PHPスクリプトを使用して、Autodiscover.xmlファイルをクライアントに返します。いくつかのPHPが埋め込まれているため、Outlookに入力された電子メールアドレスに応じて異なる値を返すことができます。(1つの自動検出ファイルを使用して、1つの構成スクリプトを使用して複数のドメイン/クライアントの結果を返す場合に役立ちます)。
そのスクリプトがWebサーバー上にあり、機能するようになったら、有効な証明書で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]
NB!署名済みSSL証明書を忘れずに取得してください。
実際、クライアントがOutlookの場合(autodiscover.xmlを検索していると言ったため)、POP / IMAPとSMTPを使用している場合は、Guessmartを自動構成に使用する必要があります。Guessmartは基本的に、電子メールアドレスとパスワードを使用してOutlookであり、一般的なPOP / IMAP / SMTPポートを使用してさまざまなホスト名を試して、正常にログインできるホストを見つけます。Outlookの自動検出と同じユーザーエクスペリエンスですが、Exchange以外のサーバーを対象としています。
Outlookで通知トレイのOutlookアイコンをCtrlキーを押しながら右クリックし、[電子メールの自動構成のテスト]を選択すると、Outlookでこれらすべてをテストできます。自動検出のチェックを外し、Guessmartをテストして、Outlookの動作を確認します。
いいえ、自動検出はExchangeに固有のものであり、その環境以外では機能しません。
そうではありません だけで、.xmlのファイルには自動検出に来るとき遊んでいるものがたくさんあります。
簡単な背景を説明するために、この記事を読んでください。それをよく理解できます。