Email Aqua Mail - Fast, Secure 图标

Aqua Mail 数据 API:文件夹、许可与推送

Aqua Mail Inc · 通讯协作

Aqua Mail 是 Aqua Mail Inc 推出的多账户安卓邮件客户端,把 Gmail、Outlook/Office 365、Yahoo、Yandex 以及通用 IMAP 或 Exchange 邮箱汇入一个快速、安全的收件箱;免费、Premium 与 Pro 三档方案让它长期受到需要同时管理多个账户的用户青睐。

作为数据源,该应用开放了这些界面背后的对象:已登录账户为注册的 deviceID 返回 userId 与 authToken,权益记录携带 accountType 与 subscriptions,邮件文件夹带 displayName 与 unreadItemCount,邮件以 isRead 与 internetMessageId 标记,另有外出自动回复设置与标记为 is_live 的分文件夹推送订阅。开发者基于这些字段构建许可感知的功能开关、未读邮件看板、引导自动配置与新邮件通知工具。

Aqua Mail 是 Aqua Mail Inc 推出的多账户安卓邮件客户端,把 Gmail、Outlook/Office 365、Yahoo、Yandex 以及通用 IMAP 或 Exchange 账户统一进一个快速、安全的收件箱,并提供免费、Premium 与 Pro 三档方案。账户列表、收件箱与升级界面背后是一套数据:账户资料与设备身份、许可权益与 Play 购买凭证、带未读数的邮件文件夹树、邮件列表、收件箱规则、外出自动回复设置与推送订阅状态。配套应用、数据看板与引导工具无需抓取界面即可集成这些数据。

应用截图

  • Email Aqua Mail - Fast, Secure 应用截图 1
  • Email Aqua Mail - Fast, Secure 应用截图 2
  • Email Aqua Mail - Fast, Secure 应用截图 3
  • Email Aqua Mail - Fast, Secure 应用截图 4
  • Email Aqua Mail - Fast, Secure 应用截图 5
  • Email Aqua Mail - Fast, Secure 应用截图 6
  • Email Aqua Mail - Fast, Secure 应用截图 7
  • Email Aqua Mail - Fast, Secure 应用截图 8

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • Aqua 账户登录

    POST /v2/accounts/signin osint

    用绑定 deviceID 的 Google、Apple 或 Facebook 凭证登录 Aqua Mail 账户,返回后续许可与资料调用使用的 userId 与 authToken。

    认证方式: 无需认证的 JSON POST。请求体为 login 对象,包含社交提供方 ID(google_id、apple_id 或 facebook_id)与 deviceID,可选加密请求信封。返回的 authToken 会附加到后续账户调用。

    • login
    • google_id
    • apple_id
    • facebook_id
    • deviceID
    • fetch_user_fields
    • userId
    • authToken
    • name
    • email
    • avatar
    POST /v2/accounts/signin HTTP/1.1
    Content-Type: application/json
    
    {
      "login": {
        "google_id": "118304928176102938475",
        "deviceID": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "fetch_user_fields": []
      }
    }
    {
      "userId": "usr_7f3a91c2",
      "authToken": "aqm_live_9f2c1e8b4d6a",
      "name": "Alex Rivera",
      "email": "[email protected]",
      "avatar": "https://cdn.example.net/avatars/usr_7f3a91c2.png"
    }
    • 依据应用的账户登录流程重建
    • 与邮箱设置前显示的社交登录表单一致
  • Aqua 用户资料

    POST /v2/accounts/profile osint

    读取已登录 Aqua Mail 账户卡片——显示名、邮箱与头像——用于许可与账户界面。

    认证方式: 已登录的 Aqua 会话。携带 profile 对象的 JSON POST;登录返回的 authToken 随请求信封一起发送。

    • profile
    • fields
    • name
    • email
    • avatar
    POST /v2/accounts/profile HTTP/1.1
    Content-Type: application/json
    
    {
      "profile": {
        "fields": "name email avatar"
      }
    }
    {
      "name": "Alex Rivera",
      "email": "[email protected]",
      "avatar": "https://cdn.example.net/avatars/usr_7f3a91c2.png"
    }
    • 依据许可与账户界面上的账户卡片重建
  • 创建设备 ID

    POST /v2/devices/register opendata

    生成后续每次登录、许可与登出调用都携带的 deviceID,并记录平台与手机型号。

    认证方式: 首次运行设备注册时的 JSON POST,无需认证。

    • create
    • platform
    • model
    • deviceID
    POST /v2/devices/register HTTP/1.1
    Content-Type: application/json
    
    {
      "create": {
        "platform": "android",
        "model": "Pixel 8"
      }
    }
    {
      "deviceID": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "platform": "android",
      "model": "Pixel 8"
    }
    • 依据首次运行的设备注册流程重建
  • 检查设备登录状态

    POST /v2/devices/session opendata

    查询该设备是否仍持有有效的 Aqua Mail 会话;若有效则返回新的 authToken,否则返回要求重新登录的 errorCode。

    认证方式: JSON POST,login_state 下携带社交凭证与 deviceID,用于免完整登录恢复会话。

    • login_state
    • google_id
    • deviceID
    • isLoggedIn
    • authToken
    • errorCode
    POST /v2/devices/session HTTP/1.1
    Content-Type: application/json
    
    {
      "login_state": {
        "google_id": "118304928176102938475",
        "deviceID": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
      }
    }
    {
      "isLoggedIn": true,
      "authToken": "aqm_live_9f2c1e8b4d6a",
      "errorCode": 0
    }
    • 依据应用启动时的会话恢复检查重建
  • 检查设备产品许可

    POST /v2/billing/entitlements openfinance

    返回设备的 Aqua Mail 权益——free、premium 或 pro——以及 Play 订阅 SKU;许可失效时可强制登出。

    认证方式: 已登录的 Aqua 会话(登录返回的 authToken)。携带空 check_device_license 对象的 JSON POST。

    • check_device_license
    • accountType
    • subscriptions
    • isForceLogout
    POST /v2/billing/entitlements HTTP/1.1
    Content-Type: application/json
    
    {
      "check_device_license": {}
    }
    {
      "accountType": "premium",
      "subscriptions": ["pro_plus_yearly", "unlocker_permanent"],
      "isForceLogout": false
    }
    • 依据 Premium 界面的权益刷新重建
  • 校验 Play 购买凭证

    POST /v2/billing/receipts/verify openfinance

    把 Google Play 购买 JSON 发送到 Aqua Mail 计费服务,由服务器确认凭证并把 accountType 切换为付费方案。

    认证方式: 已登录的 Aqua 会话。JSON POST,把 Play Billing 购买 JSON 包在 validate-receipt 下。

    • validate-receipt
    • orderId
    • packageName
    • productId
    • purchaseToken
    • purchaseState
    • accountType
    • subscriptions
    POST /v2/billing/receipts/verify HTTP/1.1
    Content-Type: application/json
    
    {
      "validate-receipt": {
        "orderId": "GPA.1234-5678-9012-34567",
        "packageName": "org.kman.AquaMail",
        "productId": "pro_plus_yearly",
        "purchaseToken": "opaque-play-token",
        "purchaseState": 0
      }
    }
    {
      "accountType": "pro",
      "subscriptions": ["pro_plus_yearly"],
      "valid": true
    }
    • 依据 Play Billing 升级后的购买完成流程重建
  • 检查已有 Play 购买

    POST /v2/billing/orders/status openfinance

    询问许可云端已有 Play 订单是否仍然有效,使恢复购买与静默权益检查无需新凭证即可刷新 accountType。

    认证方式: 已登录的 Aqua 会话。携带 purchase-status 令牌的 JSON POST,供服务器报告此前 Play 订单是否仍有权益。

    • purchase-status
    • accountType
    • subscriptions
    • isForceLogout
    POST /v2/billing/orders/status HTTP/1.1
    Content-Type: application/json
    
    {
      "purchase-status": "GPA.1234-5678-9012-34567"
    }
    {
      "accountType": "pro",
      "subscriptions": ["pro_plus_yearly"],
      "isForceLogout": false
    }
    • 依据恢复购买流程重建
  • Office 邮件文件夹树

    GET /mail/v3/folders opendata

    列出已登录 Microsoft 365 / Outlook 邮箱的文件夹(含隐藏文件夹),即 Office 账户设置完成后填充 Aqua Mail 文件夹面板的数据。

    认证方式: Authorization: Bearer <OAuth2 access token>,来自 Office/Hotmail 登录重定向。

    • value
    • id
    • displayName
    • parentFolderId
    • childFolderCount
    • unreadItemCount
    • totalItemCount
    • isHidden
    • includeHiddenFolders
    GET /mail/v3/folders?includeHiddenFolders=true HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik...
    {
      "value": [
        {
          "id": "AAMkAGI2TG93AAA=",
          "displayName": "Inbox",
          "parentFolderId": "AAMkAGI2AAAA",
          "childFolderCount": 3,
          "unreadItemCount": 12,
          "totalItemCount": 1840,
          "isHidden": false
        }
      ]
    }
    • 依据 Office 账户设置完成后出现的文件夹面板重建
  • Office 子文件夹

    GET /mail/v3/folders/{id}/children opendata

    把父邮件文件夹展开为其子文件夹,使收件箱、归档与自定义文件夹下的嵌套树能在双栏界面中渲染。

    认证方式: Authorization: Bearer <OAuth2 access token>。

    • value
    • id
    • displayName
    • parentFolderId
    • unreadItemCount
    • totalItemCount
    GET /mail/v3/folders/AAMkAGI2TG93AAA=/children HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik...
    {
      "value": [
        {
          "id": "AAMkAGI2TG93AAB=",
          "displayName": "Receipts",
          "parentFolderId": "AAMkAGI2TG93AAA=",
          "unreadItemCount": 2,
          "totalItemCount": 56
        }
      ]
    }
    • 依据双栏界面中的嵌套文件夹展开重建
  • Office 文件夹邮件

    GET /mail/v3/folders/{id}/messages opendata

    分页返回邮件文件夹内的邮件——即 Aqua Mail 为 Office 365 账户展示的收件箱列表,包含已读状态与 internetMessageId。

    认证方式: Authorization: Bearer <OAuth2 access token>。

    • value
    • id
    • subject
    • internetMessageId
    • isRead
    • receivedDateTime
    • hasAttachments
    • conversationId
    • from
    GET /mail/v3/folders/AAMkAGI2TG93AAA=/messages?$top=50&$select=id,subject,internetMessageId,isRead,receivedDateTime,from,hasAttachments HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik...
    {
      "value": [
        {
          "id": "AAMkAGI2AAAoAAA=",
          "subject": "Q3 close checklist",
          "internetMessageId": "<[email protected]>",
          "isRead": false,
          "receivedDateTime": "2026-09-27T14:22:08Z",
          "hasAttachments": true,
          "conversationId": "AAQkAGI2CgBQAAA=",
          "from": {
            "emailAddress": {"name": "Jordan Lee", "address": "[email protected]"}
          }
        }
      ]
    }
    • 依据 Office 365 账户显示的邮件列表重建
  • 收件箱邮件规则

    GET /mail/v3/folders/inbox/rules opendata

    读取 Outlook 收件箱规则,使 Aqua Mail 能为 Office 账户展示并编辑服务器端过滤器。

    认证方式: Authorization: Bearer <OAuth2 access token>。

    • value
    • id
    • displayName
    • sequence
    • isEnabled
    • conditions
    • actions
    • senderContains
    • moveToFolder
    • markAsRead
    GET /mail/v3/folders/inbox/rules HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik...
    {
      "value": [
        {
          "id": "AQMkAGI2AABhAAAA",
          "displayName": "File receipts",
          "sequence": 1,
          "isEnabled": true,
          "conditions": {"senderContains": ["[email protected]"]},
          "actions": {"moveToFolder": "AAMkAGI2TG93AAB=", "markAsRead": true}
        }
      ]
    }
    • 依据服务器端过滤器编辑器重建
  • 自动回复(外出)

    GET /mail/v3/settings/autoreply opendata

    加载 Outlook 外出横幅,供 Aqua Mail 的外出自动回复读取与设置界面显示和编辑。

    认证方式: Authorization: Bearer <OAuth2 access token>。对同一资源发起 PATCH 可更新 automaticRepliesSetting。

    • automaticRepliesSetting
    • status
    • externalAudience
    • internalReplyMessage
    • externalReplyMessage
    • scheduledStartDateTime
    • scheduledEndDateTime
    GET /mail/v3/settings/autoreply HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik...
    {
      "automaticRepliesSetting": {
        "status": "scheduled",
        "externalAudience": "all",
        "internalReplyMessage": "I am out of office until Monday.",
        "externalReplyMessage": "Please contact [email protected].",
        "scheduledStartDateTime": {"dateTime": "2026-09-26T17:00:00", "timeZone": "Pacific Standard Time"},
        "scheduledEndDateTime": {"dateTime": "2026-09-29T08:00:00", "timeZone": "Pacific Standard Time"}
      }
    }
    • 依据外出自动回复的读取与设置界面重建
  • 注册推送设备

    POST /push/v1/devices opendata

    把该手机注册到 Aqua Mail 的推送代理,使 Exchange/Office 的新邮件通知可经 FCM 投递。

    认证方式: JSON POST。请求体包含 push_token 与 push_tech;auth 与 nonce 是基于已注册设备身份的 HMAC 签名。

    • push_token
    • push_tech
    • nonce
    • auth
    • result
    POST /push/v1/devices HTTP/1.1
    Content-Type: application/json; charset=UTF-8
    
    {
      "push_token": "fcm-c3d4e5f6",
      "push_tech": "fcm",
      "nonce": "a8f3c1",
      "auth": "7b2e9c1d0a44"
    }
    {
      "result": "ok",
      "device_id": "dev_91ab33"
    }
    • 依据 Exchange 与 Office 账户的新邮件通知设置重建
  • 变更推送文件夹订阅

    POST /push/v1/subscriptions opendata

    创建或删除按文件夹的推送订阅(收件箱、已发送、自定义),使 Aqua Mail 只为用户实际同步的邮箱唤醒。

    认证方式: JSON POST,携带基于已注册设备的 HMAC auth/nonce。create/delete 数组给出 Exchange 文件夹 ID。

    • create
    • delete
    • f_id
    • sub_id
    • ts
    • is_live
    • is_dead
    • subs
    • result
    • nonce
    • auth
    POST /push/v1/subscriptions HTTP/1.1
    Content-Type: application/json; charset=UTF-8
    
    {
      "create": [{"f_id": "AAMkAGI2TG93AAA=", "sub_id": "sub_inbox_1"}],
      "nonce": "a8f3c1",
      "auth": "7b2e9c1d0a44"
    }
    {
      "result": "ok",
      "subs": [
        {"f_id": "AAMkAGI2TG93AAA=", "sub_id": "sub_inbox_1", "ts": 1727539200, "is_live": 1}
      ]
    }
    • 依据按文件夹的同步开关重建
  • 列出推送订阅

    POST /push/v1/subscriptions/list opendata

    返回推送代理上当前生效的文件夹订阅集合,使客户端在变更订阅前对账本地同步状态。

    认证方式: JSON POST,携带基于已注册设备的 HMAC auth/nonce。

    • nonce
    • auth
    • result
    • subs
    • f_id
    • sub_id
    • ts
    • is_live
    POST /push/v1/subscriptions/list HTTP/1.1
    Content-Type: application/json; charset=UTF-8
    
    {
      "nonce": "a8f3c1",
      "auth": "7b2e9c1d0a44"
    }
    {
      "result": "ok",
      "subs": [
        {"f_id": "AAMkAGI2TG93AAA=", "sub_id": "sub_inbox_1", "ts": 1727539200, "is_live": 1}
      ]
    }
    • 依据订阅变更前运行的同步状态对账重建
  • MX 主机查询

    GET /setup/v1/mx/{domain} osint

    在账户设置期间解析邮箱域名的邮件交换主机名,使 Aqua Mail 能自动填写 IMAP/SMTP 或 Exchange 主机。

    认证方式: 静态共享 Authorization 头,原样发送。用于账户设置期间本地 DNS MX 查询为空或过慢时。

    • HostList
    • Host
    • Priority
    GET /setup/v1/mx/example.com HTTP/1.1
    Authorization: <static shared token>
    {
      "HostList": [
        {"Host": "aspmx.l.google.com", "Priority": 1},
        {"Host": "alt1.aspmx.l.google.com", "Priority": 5}
      ]
    }
    • 依据账户设置的服务器自动填写重建
  • Yahoo OAuth 令牌

    POST /oauth/v2/token osint

    兑换或刷新 Yahoo Mail 的 OAuth2 令牌,使 Aqua Mail 在应用内 Yahoo 登录后通过 XOAUTH2 经 IMAP 打开 Yahoo 邮箱。

    认证方式: OAuth2 authorization_code 或 refresh_token 授权。Yahoo 邮箱令牌存于安卓账户管理器,用于 IMAP XOAUTH2。

    • client_id
    • scope
    • refresh_token
    • grant_type
    • access_token
    • expires_in
    • token_type
    POST /oauth/v2/token HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    client_id=dj0yJmk9ZXhhbXBsZQ&scope=mail-r&refresh_token=AAh.xz1&grant_type=refresh_token
    {
      "access_token": "djE8b2Fr...",
      "refresh_token": "AAh.xz1",
      "expires_in": 3600,
      "token_type": "bearer"
    }
    • 依据 Yahoo 登录与邮箱登录流程重建
  • Exchange 自动发现

    POST /setup/v1/exchange-settings opendata

    在账户设置期间为企业邮箱发现 Exchange Web Services URL,使 Aqua Mail 无需手动填写 EWS 主机即可订阅推送并同步文件夹。

    认证方式: 使用 Exchange 邮箱凭证的 HTTP Basic 或 NTLM。SOAP Autodiscover 2006 请求架构。

    • EMailAddress
    • AcceptableResponseSchema
    • EwsUrl
    • Server
    • AccountType
    POST /setup/v1/exchange-settings HTTP/1.1
    Content-Type: text/xml
    Authorization: Basic YWxpY2U6c2VjcmV0
    
    <?xml version="1.0" encoding="utf-8" ?>
    <Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/requestschema/2006">
    <Request>
    	<EMailAddress>[email protected]</EMailAddress>
    	<AcceptableResponseSchema>http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a</AcceptableResponseSchema>
    </Request>
    </Autodiscover>
    {
      "EMailAddress": "[email protected]",
      "EwsUrl": "https://mail.example.net/EWS/Exchange.asmx",
      "Server": "mail.example.net",
      "AccountType": "email"
    }
    • 依据 Exchange 账户设置流程重建

数据类别

  • 账户资料
  • 设备身份
  • 产品许可
  • Play 购买
  • 邮件文件夹
  • 邮件消息
  • 收件箱规则
  • 外出自动回复
  • 推送订阅
  • MX 主机
  • OAuth 令牌
  • Exchange 自动发现

数据使用场景与案例

  • 许可感知的功能开关

    配套工具可用空的 check_device_license 对象调用权益检查,读取 accountType 与 subscriptions,仅当 Aqua Mail 云端确认设备已获授权时才启用 Pro 过滤器、额外账户或备份到 Drive 等功能。

  • Office 邮箱盘点

    用户通过 Microsoft OAuth 登录后,文件夹树、子文件夹与文件夹邮件三个调用即可产出文件夹的 displayName、unreadItemCount 以及每封邮件的 internetMessageId 与 isRead,足以搭建未读邮件看板而无需抓取界面。

  • 新邮件推送对账

    运维可将本地同步状态与订阅列表、订阅变更调用对比:每个订阅都带 f_id、sub_id、ts 与 is_live,因此失效的 Exchange 文件夹订阅可在通知中断前重建。

  • 从 MX 记录自动发现

    引导阶段,MX 查询调用返回含 Host 与 Priority 的 HostList,当设备上的 DNS 受限时设置向导可跳过手动填写 IMAP 主机;Exchange 邮箱随后通过自动发现请求获取 EwsUrl。

常见问题

Aqua Mail 如何区分自身账户与各个邮箱的认证?

Aqua Mail 云端账户采用社交登录(google_id、apple_id 或 facebook_id 加 deviceID),返回 authToken。每个邮箱单独认证:Office 365 使用登录重定向返回的 OAuth2 Bearer 令牌,Yahoo 使用 OAuth2 令牌兑换,IMAP 或 Exchange 账户使用邮件服务器自身的凭证。许可与计费调用使用 Aqua 的 authToken,而非邮箱令牌。

哪些数据涉及邮箱内容?

对 Microsoft 365 / Outlook,文件夹树与子文件夹调用返回文件夹层级(displayName、unreadItemCount、totalItemCount),文件夹邮件调用分页返回带 internetMessageId、isRead 与 subject 的邮件,收件箱规则调用列出服务器端过滤器及其条件与动作。IMAP 与 Exchange 账户直接与用户自己的邮件主机通信,而非 Aqua 账户云。

Pro 与 Premium 许可如何校验?

Play Billing 购买凭证会上送服务器校验,权益检查随后返回 accountType(free、premium 或 pro)、包含 SKU 的 subscriptions 数组,以及权益失效时的 isForceLogout 标记。已有订单可凭 GPA 订单号重新核查,因此恢复购买无需新凭证。

推送 API 的作用是什么?

Exchange 与 Office 账户用 push_token 与 push_tech 注册手机,然后按文件夹创建或删除订阅(f_id、sub_id、is_live),并可列出订阅进行状态对账。Aqua Mail 借此在不保持常驻 IMAP 连接的情况下投递新邮件通知。

与 Email Aqua Mail - Fast, Secure 相似的应用

  • K-9 Mail / Thunderbird for Android — 免费开源的安卓邮件客户端,支持 IMAP/POP3、多账户、OpenPGP 加密和统一收件箱,目前正在 Mozilla 旗下更名为 Thunderbird 安卓版。
  • FairEmail — 开源、注重隐私的安卓邮件客户端,提供无限账户、统一收件箱、PGP 与 S/MIME 加密和离线使用,且无跟踪。
  • Microsoft Outlook — 微软的跨平台邮件应用,支持 Exchange 和 Microsoft 365,内置日历与联系人整合以及统一收件箱。
  • BlueMail — 免费邮件应用,可在统一收件箱中管理无限账户,提供智能推送通知和以联系人为中心的视图,覆盖安卓、iOS、Windows、Mac 和 Linux。
  • Spark Mail — 免费增值的邮件客户端,具备智能收件箱、AI 辅助写作、定时发送与稍后处理功能,并支持跨安卓、iOS、Mac 和 Windows 的团队协作。
  • Canary Mail — 带有 AI Copilot 的邮件客户端,可辅助撰写和总结邮件,支持可选的 PGP 端到端加密、已读回执和跨移动端与桌面端的统一收件箱。
  • Proton Mail — 来自瑞士的隐私导向邮件服务,其安卓应用提供端到端及零访问加密,并内置加密日历。
  • Nine — 面向商务用户的安卓邮件应用,以 Exchange 为核心,通过 Direct Push 同步邮件、日历、联系人、任务和便签。

相关主题

  • Aqua Mail API
  • Aqua Mail 数据
  • Aqua Mail 许可 API
  • Office 365 邮件文件夹 API
  • Aqua Mail 推送通知
  • 邮箱 MX 查询
  • 邮件客户端数据 API

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价