jdm*_*eld 3 email android autodiscovery autoconfiguration
我在当地一家 ISP、网络和电子邮件托管提供商工作。我已经能够分别为 Thunderbird、Outlook 和 IOS 设置 autoconfig/autodiscover 和 .mobileconfig。这涵盖了我们的大部分用户群,除了深受喜爱的 Android 之外。已经测试过了。有用。我们经常使用它。
我们如何为 Android 设置类似的东西?到目前为止,唯一的选择似乎是要求用户从 Play 商店安装第三方应用程序,例如 Outlook。
必须有一种方法可以让它在内置的 Android 邮件应用程序上运行。
明确地说,我们的设置如下:
IMAP:端口 993、SSL、明文密码(默认受 SSL 保护) SMTP:端口 465、SSL、明文密码(默认受 SSL 保护)
两个服务器名称相同,但与电子邮件地址中的域不同。
用户名是完整的电子邮件地址。
我们拥有许多域,因此为每个域设置 DNS 细节在人力方面是昂贵的。
我们所描述的那些运行良好,并且在 DNS 方面是通用的,因此不需要添加或更改 DNS 记录,这意味着我们可以将其作为我们服务的一部分提供,它将覆盖我们所有的客户。
现在 Android 上的功能应该是类似的。
有没有办法仅根据电子邮件地址和密码自动配置 Android 邮件应用程序的设置?
对此仍然没有答案。
有谁知道 Android Mail 在尝试自动检查设置时正在检查什么?
我将autoconfig
(Thunderbird/Mozilla 标准)+ autodiscover
(Microsoft 标准)和 RFC 6186 编写为 Ansible“角色”,但有大量文本来解释正在发生的事情。摘要:首先设置 RFC 6186 看看是否足够,如果不够则设置其他。
以下是该角色的解释摘录;请参阅Ansible 角色以获取更多信息,以及文本的其余部分 - 即使您不了解 Ansible(尤其是参阅tasks
和templates
目录),它也应该是可以理解的;再往下你会发现如何测试autoconfig
/autodiscover
设置:
如果您不知道RFC 6186,我的建议是:在使用自动发现/自动配置之前为您的域设置 RFC 6186 记录:这是通过 DNSSRV
记录配置自动发现/自动配置的更简单、更现代的方法;在使用这个角色之前先进行设置,这实际上是为了提供完整性,以便[特别是。不支持 RFC-6186 的电子邮件客户端仍然可以找到其配置。如果您需要快速修复自动发现/自动配置,请首先设置 RFC-6186 - 例如在您的域的区域文件中(来自 RFC),
_imap._tcp SRV 0 1 143 imap.example.com.
_pop3._tcp SRV 10 1 110 pop3.example.com.
_submission._tcp SRV 0 1 587 mail.example.com.
Run Code Online (Sandbox Code Playgroud)
如果在为您的域设置 RFC 6186 记录后仍然需要自动发现/自动配置,请继续阅读...
对于 Microsoft 自动发现:PHP (编辑:我在 Ansible 角色中使用了 PHP;其他服务器端语言也可用...)LoginName
(XML 模板需要根据邮件客户端 Web 提供的 POST 数据生成 < > 字段询问)。
除了简单的单域设置之外,可能还需要一些 DNS 设置。可能的 DNS 设置可能如下所示,
autoconfig.example.org CNAME--> some.central.domain
_autodiscover._tcp.example.org SRV --> some.central.domain
在给定区域/域的命名/BIND 语法中,即
autoconfig IN CNAME some.central.domain
_autodiscover._tcp IN SRV 0 0 443 some.central.domain
Run Code Online (Sandbox Code Playgroud)
一旦您使用此角色设置了自动配置主机,您就可以通过发出命令行请求来测试结果,例如,
curl http://autoconfig_target_domain/.well-known/autoconfig/mail/config-v1.1.xml
curl http://autoconfig_target_domain/mail/config-v1.1.xml
Run Code Online (Sandbox Code Playgroud)
其中指的是your_domain的 DNS 记录autoconfig_target_domain
的目标域,或者对于更简单的设置(没有记录)可能只是your_domain和/或your_domain。CNAME
_autoconfig._tcp.
SRV
autoconfig.
一旦您使用此角色设置了自动发现主机,您就可以通过发出命令行 POST 请求来测试结果,例如,
curl -XPOST -d @req.xml --header "Content-Type:text/xml" https://autodiscover_target_domain/autodiscover/autodiscover.xml
Run Code Online (Sandbox Code Playgroud)
其中指的是your_domain的 DNS 记录autodiscover_target_domain
的目标域,或者对于更简单的设置(没有记录)可能只是your_domain和/或your_domain。SRV
_autodiscover._tcp.
SRV
autodiscover.
看起来req.xml
像这样,
<?xml version="1.0" encoding="utf-8"?>
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/requestschema/2006">
<Request>
<AcceptableResponseSchema>http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a</AcceptableResponseSchema>
<EMailAddress>someone@your.domain.here</EMailAddress>
</Request>
</Autodiscover>
Run Code Online (Sandbox Code Playgroud)
尤其是 这个网站对解决这个问题很有帮助。