list mail

interface address:
  • /api/mail/list

HTTP request method:
  • GET

request params:
  • label (query, optional): 标签名,如 inbox / sent / drafts / trash / starred / all / unread / important 等,默认 inbox

  • page (query, optional): 页码,默认 1

  • page_count (query, optional): 每页条数,默认 100

response code:
  • common response

example:

curl -X GET "$BASE_URL/api/mail/list?label=inbox&page=1&page_count=20"

response example:

  • JSON:

    {
      "data": { "list": [ { "id": "1", "from": "", "to": "", "subject": "", "date": "", "labels": [] } ] },
      "code": 0,
      "message": "OK",
      "ts": 1234567890
    }
    

get mail detail

interface address:
  • /api/mail/detail/:id

HTTP request method:
  • GET

request params:
  • id (path): 邮件 ID

response code:
  • common response

example:

curl -X GET "$BASE_URL/api/mail/detail/1"

response example:

  • JSON:

    {
      "data": { "id": "1", "from": "", "to": "", "subject": "", "content": "", "labels": [] },
      "code": 0,
      "message": "OK",
      "ts": 1234567890
    }
    

get mail info

interface address:
  • /api/mail/info/:id

HTTP request method:
  • GET

request params:
  • id (path): 邮件 ID

response code:
  • common response

example:

curl -X GET "$BASE_URL/api/mail/info/1"

response example:

  • JSON:

    {
      "data": {},
      "code": 0,
      "message": "OK"
    }
    

get mail original content

interface address:
  • /api/mail/original/:id

HTTP request method:
  • GET

request params:
  • id (path): 邮件 ID

response code:
  • common response

example:

curl -X GET "$BASE_URL/api/mail/original/1"

response example:

  • JSON:

    {
      "data": {},
      "code": 0,
      "message": "OK"
    }
    

search mail

interface address:
  • /api/mail/search

HTTP request method:
  • POST

request params:
  • from (form, optional): 发件人

  • to (form, optional): 收件人

  • subject (form, optional): 主题

  • include (form, optional): 包含关键词

  • exclude (form, optional): 排除关键词

  • before (form, optional): 日期之前,格式 2006-01-02

  • after (form, optional): 日期之后,格式 2006-01-02

  • label_id (form, optional): 标签 ID,多个用逗号分隔

  • larger_size (form, optional): 大于字节数

  • smaller_size (form, optional): 小于字节数

  • page (form, optional): 页码

  • page_size (form, optional): 每页条数

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/search" -d "subject=test&page=1&page_size=20"

response example:

  • JSON:

    {
      "data": { "list": [] },
      "code": 0,
      "message": "OK",
      "ts": 1234567890
    }
    

modify mail read state

interface address:
  • /api/mail/readstate

HTTP request method:
  • POST

request params:
  • id (form, required): 邮件 ID,多个用逗号分隔

  • state (form, required): 已读状态,true/false

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/readstate" -d "id=1,2,3&state=true"

response example:

  • JSON:

    {
      "code": 0,
      "message": "更新成功"
    }
    

modify mail starred state

interface address:
  • /api/mail/starredstate

HTTP request method:
  • POST

request params:
  • id (form, required): 邮件 ID,多个用逗号分隔

  • starred (form, required): 星标状态,true/false

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/starredstate" -d "id=1,2&starred=true"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }
    

modify mail important state

interface address:
  • /api/mail/importantstate

HTTP request method:
  • POST

request params:
  • id (form, required): 邮件 ID,多个用逗号分隔

  • important (form, required): 重要状态,true/false

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/importantstate" -d "id=1&important=true"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }
    

delete mail

interface address:
  • /api/mail/delete

HTTP request method:
  • POST

request params:
  • id (form, required): 邮件 ID,多个用逗号分隔(移动到废件箱)

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/delete" -d "id=1,2,3"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }
    

permanently delete mail

interface address:
  • /api/mail/foreverdelete

HTTP request method:
  • POST

request params:
  • id (form, required): 邮件 ID,多个用逗号分隔

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/foreverdelete" -d "id=1,2"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }
    

archive mail

interface address:
  • /api/mail/archive

HTTP request method:
  • POST

request params:
  • id (form, required): 邮件 ID,多个用逗号分隔

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/archive" -d "id=1,2"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }
    

unarchive mail

interface address:
  • /api/mail/unarchive

HTTP request method:
  • POST

request params:
  • id (form, required): 邮件 ID,多个用逗号分隔

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/unarchive" -d "id=1,2"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }
    

move mail to label group

interface address:
  • /api/mail/movelabel

HTTP request method:
  • POST

request params:
  • id (form, required): 邮件 ID,多个用逗号分隔

  • from_id (form, required): 原标签 ID

  • to_id (form, required): 目标标签 ID

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/movelabel" -d "id=1,2&from_id=1&to_id=2"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }
    

delete mail label group

interface address:
  • /api/mail/deletelabel

HTTP request method:
  • POST

request params:
  • id (form, required): 邮件 ID,多个用逗号分隔

  • label_id (form, required): 要移除的标签 ID

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/deletelabel" -d "id=1&label_id=2"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }
    

apply mail label group

interface address:
  • /api/mail/applylabel

HTTP request method:
  • POST

request params:
  • id (form, required): 邮件 ID,多个用逗号分隔

  • label_id (form, required): 要应用的标签 ID

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/applylabel" -d "id=1,2&label_id=3"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }
    

send mail

interface address:
  • /api/mail/send/:domain

HTTP request method:
  • POST

request params:
  • domain (path): 发件域名

  • from (form): 发件人地址

  • to (form): 收件人,多个用逗号分隔

  • cc (form, optional): 抄送

  • bcc (form, optional): 密送

  • subject (form): 主题

  • content (form): 正文内容

  • 其他 MIME 相关字段按需传递

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/send/example.com" -d "from=user@example.com&to=to@example.com&subject=test&content=body"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK",
      "data": {}
    }
    

upload as attachment

interface address:
  • /api/mail/asattachment

HTTP request method:
  • POST

request params:
  • multipart/form-data 上传文件

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/mail/asattachment" -F "file=@/path/to/file"

response example:

  • JSON:

    {
      "code": 0,
      "data": {},
      "message": "OK"
    }
    

file upload (通用)

interface address:
  • /api/file/upload

HTTP request method:
  • POST

request params:
  • multipart/form-data 上传文件

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/file/upload" -F "file=@/path/to/file"

response example:

  • JSON:

    {
      "code": 0,
      "data": {},
      "message": "OK"
    }
    

list label

interface address:
  • /api/label/list

HTTP request method:
  • GET

request params:
  • type (query, optional): 筛选类型

response code:
  • common response

example:

curl -X GET "$BASE_URL/api/label/list"

response example:

  • JSON:

    {
      "data": [ { "id": "1", "name": "inbox", "color": "", "labelListDisplay": "1", "mailListDisplay": "1", "imapDisplay": "1" } ],
      "code": 0,
      "message": "OK",
      "ts": 1234567890
    }
    

create label

interface address:
  • /api/label/create

HTTP request method:
  • POST

request params:
  • name (form, required): 标签名称

  • 其他可选字段见实现

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/label/create" -d "name=MyLabel"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK",
      "data": {}
    }
    

update label state

interface address:
  • /api/label/updatestate

HTTP request method:
  • POST

request params:
  • 见实现

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/label/updatestate"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }
    

delete label

interface address:
  • /api/label/delete

HTTP request method:
  • POST

request params:
  • id (form, required): 标签 ID

response code:
  • common response

example:

curl -X POST "$BASE_URL/api/label/delete" -d "id=1"

response example:

  • JSON:

    {
      "code": 0,
      "message": "OK"
    }