如何在服务器上为 Android 邮件应用程序设置自动配置电子邮件?

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 在尝试自动检查设置时正在检查什么?

And*_*rds 7

我将autoconfig(Thunderbird/Mozilla 标准)+ autodiscover(Microsoft 标准)和 RFC 6186 编写为 Ansible“角色”,但有大量文本来解释正在发生的事情。摘要:首先设置 RFC 6186 看看是否足够,如果不够则设置其他。

以下是该角色的解释摘录;请参阅Ansible 角色以获取更多信息,以及文本的其余部分 - 即使您不了解 Ansible(尤其是参阅taskstemplates目录),它也应该是可以理解的;再往下你会发现如何测试autoconfig/autodiscover设置:

RFC 6186

如果您不知道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_domainCNAME_autoconfig._tcp.SRVautoconfig.

测试自动发现

一旦您使用此角色设置了自动发现主机,您就可以通过发出命令行 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_domainSRV_autodiscover._tcp.SRVautodiscover.

看起来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)

尤其是 这个网站对解决这个问题很有帮助。