Outlook自动发现SMTP身份验证

时间:2016-01-06 17:31:28

标签: email authentication outlook smtp

问题

我正在尝试为我网站的用户创建自动发现脚本。目前我正在创建与我的邮件服务器的工作连接,但我的邮件服务器需要SMTP身份验证。我目前正在发送:

  <AuthRequired>on</AuthRequired>

在完整的XML文件中启用SMTP身份验证。这将启用“我的传出服务器(SMTP)要求身份验证”旁边的详细信息中的复选标记。具有两个选项“使用与我的接收邮件服务器相同的设置”(首选)或“使用登录”的项目符号列表没有选择任何选项。

我尝试了什么

我尝试添加POP3信息并在SMTP部分中添加以下属性:

<UsePOPAuth>on</UsePOPAuth>

然而,这不起作用。要创建XML文件,我使用了以下URL:https://technet.microsoft.com/en-us/library/cc511507.aspx

我当前的XML文档

<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>IMAP</Type>
<Server>mail.test.nl</Server>
<Port>143</Port>
<DomainRequired>on</DomainRequired>
<LoginName>me@test.nl</LoginName>
<SPA>off</SPA>
<SSL>off</SSL>
<AuthRequired>on</AuthRequired>
</Protocol>
<Protocol>
<Type>SMTP</Type>
<Server>mail.test.nl</Server>
<Port>587</Port>
<DomainRequired>on</DomainRequired>
<LoginName>me@test.nl</LoginName>
<SPA>off</SPA>
<SSL>off</SSL>
<AuthRequired>on</AuthRequired>
<SMTPLast>on</SMTPLast>
</Protocol>
</Account>
</Response>
</Autodiscover>

1 个答案:

答案 0 :(得分:3)

我在TechNet上发现了一个非常有用的article,它基本上解释了为什么会发生这种情况。根据我的理解,指定SMTPLast属性使Outlook尝试在SMTP之前登录到POP / IMAP,而不实际验证SMTP(某些服务器,例如我的学校只能以这种方式工作)。

我重现了与配置相同的问题但是一旦我删除它,它就像一个魅力。

我注意到没有很多关于自动发现的有用文档,又名POX autodiscover,所以这里有适用于我的xml模板:

<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
    <Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
        <User>
            <DisplayName>First Last</DisplayName>
        </User>
        <Account>
            <AccountType>email</AccountType>
            <Action>settings</Action>
            <Protocol>
                <Type>IMAP</Type>
                <Server>mail.example.com</Server>
                <Port>993</Port>
                <AuthRequired>on</AuthRequired>
                <LoginName>email@example.com</LoginName>
                <SPA>off</SPA>
                <SSL>on</SSL>
            </Protocol>
            <Protocol>
                <Type>SMTP</Type>
                <Server>mail.example.com</Server>
                <Port>587</Port>
                <AuthRequired>on</AuthRequired>
                <LoginName>email@example.com</LoginName>
                <SPA>off</SPA>
                <Encryption>TLS</Encryption>
                <UsePOPAuth>on</UsePOPAuth>
            </Protocol>
        </Account>
    </Response>
</Autodiscover>