Skip to content

邮箱草稿管理 - 用户令牌(IFeishuUserV1MailDraft)

功能描述

飞书邮箱草稿API接口实现了修改、查询、删除等邮件草稿功能。支持用户通过用户访问令牌管理自己的邮件草稿。

参考文档

函数列表

函数名称功能描述认证方式HTTP 方法
UpdateUserMailboxDraftAsync更新草稿UserAccessTokenPUT
SendUserMailboxDraftAsync发送草稿UserAccessTokenPOST
GetUserMailboxDraftPageListAsync分页列出草稿列表UserAccessTokenGET
GetUserMailboxDraftAsync获取草稿内容UserAccessTokenGET
DeleteUserMailboxDraftAsync删除草稿UserAccessTokenDELETE
CreateUserMailboxDraftAsync创建草稿UserAccessTokenPOST

函数详细内容

UpdateUserMailboxDraftAsync

更新草稿内容

函数签名

csharp
Task<FeishuApiResult<UserMailboxDraftOopsResult>?> UpdateUserMailboxDraftAsync(
    [Path] string user_mailbox_id,
    [Path] string draft_id,
    [Body] UserMailboxDraftRequest updateUserMailboxDraftRequest,
    CancellationToken cancellationToken = default);

认证 UserAccessToken(用户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring用户邮箱地址,作为用户邮箱身份标识。使用 user_access_token 调用时,可使用占位符 me 表示当前授权用户的主邮箱。user@example.com
draft_idstring草稿ID,可通过创建草稿或列出草稿接口获得268dce11-85f7-427d-8756-6be3abc850fd
updateUserMailboxDraftRequestUserMailboxDraftRequest更新草稿请求体-
cancellationTokenCancellationToken取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "draft_id": "268dce11-85f7-427d-8756-6be3abc850fd",
    "update_time": "2026-06-03T11:34:00+08:00"
  }
}

说明

  • 支持更新草稿的主题、收件人、正文等内容
  • 更新后草稿状态保持不变

代码示例

csharp
var draftApi = feishuApp.GetApi<IFeishuUserV1MailDraft>();
var request = new UserMailboxDraftRequest
{
    Subject = "更新后的邮件主题",
    ToRecipients = new List<string> { "recipient@example.com" }
};
var result = await draftApi.UpdateUserMailboxDraftAsync("me", "draft_id_123", request);
Console.WriteLine($"草稿更新成功: {result?.Data?.DraftId}");

SendUserMailboxDraftAsync

发送草稿

函数签名

csharp
Task<FeishuApiResult<SendUserMailboxDraftResult>?> SendUserMailboxDraftAsync(
    [Path] string user_mailbox_id,
    [Path] string draft_id,
    CancellationToken cancellationToken = default);

认证 UserAccessToken(用户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring用户邮箱地址,作为用户邮箱身份标识。使用 user_access_token 调用时,可使用占位符 me 表示当前授权用户的主邮箱。user@example.com
draft_idstring草稿ID,可通过创建草稿或列出草稿接口获得268dce11-85f7-427d-8756-6be3abc850fd
cancellationTokenCancellationToken取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "message_id": "msg_xxxxxxxx",
    "send_time": "2026-06-03T11:34:00+08:00"
  }
}

说明

  • 将指定的草稿发送出去
  • 发送成功后草稿将被删除

代码示例

csharp
var draftApi = feishuApp.GetApi<IFeishuUserV1MailDraft>();
var result = await draftApi.SendUserMailboxDraftAsync("me", "draft_id_123");
Console.WriteLine($"草稿发送成功: {result?.Data?.MessageId}");

GetUserMailboxDraftPageListAsync

分页列出草稿列表

函数签名

csharp
Task<FeishuApiPageListResult<DraftId>?> GetUserMailboxDraftPageListAsync(
    [Path] string user_mailbox_id,
    [Query] int page_size = 20,
    [Query] string? page_token = null,
    CancellationToken cancellationToken = default);

认证 UserAccessToken(用户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring用户邮箱地址,作为用户邮箱身份标识。使用 user_access_token 调用时,可使用占位符 me 表示当前授权用户的主邮箱。user@example.com
page_sizeint分页大小,即本次请求所返回的信息列表内的最大条目数。默认值:2020
page_tokenstring?分页标记,第一次请求不填,表示从头开始遍历-
cancellationTokenCancellationToken取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "items": [
      {
        "draft_id": "268dce11-85f7-427d-8756-6be3abc850fd"
      }
    ],
    "page_token": "evt_xxx",
    "has_more": true
  }
}

说明

  • 只会返回草稿ID信息,不会返回草稿内容
  • 如需获取草稿详细内容,请使用GetUserMailboxDraftAsync接口

代码示例

csharp
var draftApi = feishuApp.GetApi<IFeishuUserV1MailDraft>();
var result = await draftApi.GetUserMailboxDraftPageListAsync("me");
if (result?.Data?.Items != null)
{
    foreach (var draft in result.Data.Items)
    {
        Console.WriteLine($"草稿ID: {draft.DraftId}");
    }
}

GetUserMailboxDraftAsync

获取草稿内容

函数签名

csharp
Task<FeishuApiResult<GetUserMailboxDraftResult>?> GetUserMailboxDraftAsync(
    [Path] string user_mailbox_id,
    [Path] string draft_id,
    [Query] string? format = null,
    CancellationToken cancellationToken = default);

认证 UserAccessToken(用户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring用户邮箱地址,作为用户邮箱身份标识。使用 user_access_token 调用时,可使用占位符 me 表示当前授权用户的主邮箱。user@example.com
draft_idstring草稿ID,可通过创建草稿或列出草稿接口获得268dce11-85f7-427d-8756-6be3abc850fd
formatstring?需要获取的草稿内容样式,取值:metadata / full(默认)/ raw
- metadata:草稿元数据信息,包括邮件摘要、主题、收发件人等信息
- raw:获取草稿EML
- full:邮件全文,获取包括纯文本、HTML等在内的邮件全文信息
full
cancellationTokenCancellationToken取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "draft_id": "268dce11-85f7-427d-8756-6be3abc850fd",
    "subject": "邮件主题",
    "to_recipients": ["recipient@example.com"],
    "create_time": "2026-06-03T11:34:00+08:00",
    "update_time": "2026-06-03T11:34:00+08:00"
  }
}

说明

  • 根据草稿ID获取草稿详细信息
  • 可通过format参数控制返回内容的详细程度

代码示例

csharp
var draftApi = feishuApp.GetApi<IFeishuUserV1MailDraft>();
var result = await draftApi.GetUserMailboxDraftAsync("me", "draft_id_123", format: "full");
Console.WriteLine($"草稿主题: {result?.Data?.Subject}");

DeleteUserMailboxDraftAsync

删除草稿

函数签名

csharp
Task<FeishuNullDataApiResult?> DeleteUserMailboxDraftAsync(
    [Path] string user_mailbox_id,
    [Path] string draft_id,
    CancellationToken cancellationToken = default);

认证 UserAccessToken(用户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring用户邮箱地址,作为用户邮箱身份标识。使用 user_access_token 调用时,可使用占位符 me 表示当前授权用户的主邮箱。user@example.com
draft_idstring草稿ID,可通过创建草稿或列出草稿接口获得268dce11-85f7-427d-8756-6be3abc850fd
cancellationTokenCancellationToken取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": null
}

说明

  • 删除指定邮箱账户下的单份邮件草稿
  • 删除操作不可恢复

代码示例

csharp
var draftApi = feishuApp.GetApi<IFeishuUserV1MailDraft>();
var result = await draftApi.DeleteUserMailboxDraftAsync("me", "draft_id_123");
Console.WriteLine($"草稿删除结果: {result.Code == 0}");

CreateUserMailboxDraftAsync

创建草稿

函数签名

csharp
Task<FeishuApiResult<UserMailboxDraftOopsResult>?> CreateUserMailboxDraftAsync(
    [Path] string user_mailbox_id,
    [Body] UserMailboxDraftRequest createUserMailboxDraftRequest,
    CancellationToken cancellationToken = default);

认证 UserAccessToken(用户访问令牌)

参数

参数名类型必填描述示例
user_mailbox_idstring用户邮箱地址,作为用户邮箱身份标识。使用 user_access_token 调用时,可使用占位符 me 表示当前授权用户的主邮箱。user@example.com
createUserMailboxDraftRequestUserMailboxDraftRequest创建草稿请求体-
cancellationTokenCancellationToken取消操作令牌对象default

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "draft_id": "268dce11-85f7-427d-8756-6be3abc850fd",
    "create_time": "2026-06-03T11:34:00+08:00"
  }
}

说明

  • 根据指定的内容创建草稿
  • 创建成功后返回草稿ID,可用于后续更新、发送等操作

代码示例

csharp
var draftApi = feishuApp.GetApi<IFeishuUserV1MailDraft>();
var request = new UserMailboxDraftRequest
{
    Subject = "新邮件主题",
    ToRecipients = new List<string> { "recipient@example.com" },
    Body = "邮件正文内容"
};
var result = await draftApi.CreateUserMailboxDraftAsync("me", request);
Console.WriteLine($"草稿创建成功: {result?.Data?.DraftId}");