包信息
| 属性 | 值 |
|---|---|
| NuGet 包 | Bitzsoft.Integrations.EnterpriseMail.Feishu |
| Provider ID | feishu |
| 鉴权 | tenant_access_token(AppId + AppSecret 换取) |
| 生命周期 | Transient |
配置字段(FeishuMailOptions)
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
AppId | string | 是 | — | 飞书应用 AppId |
AppSecret | string | 是 | — | 飞书应用 AppSecret |
BaseUrl | string | 否 | https://open.feishu.cn | 飞书开放平台 API 基地址 |
DefaultUserMailboxId | string | 否 | — | 默认操作的邮箱地址(user_mailbox_id) |
HttpClientName | string | 否 | FeishuMail | 命名 HttpClient 名称 |
配置示例
{ "EnterpriseMail": { "Feishu": { "AppId": "cli_xxxxxxx", "AppSecret": "your-app-secret", "DefaultUserMailboxId": "user@your-domain.com" } }}DI 注册
// ① 配置节绑定builder.Services.AddBitzsoftFeishuMail(builder.Configuration.GetSection("EnterpriseMail:Feishu"));
// ② 委托配置builder.Services.AddBitzsoftFeishuMail(options =>{ options.AppId = "cli_xxxxxxx"; options.AppSecret = "your-app-secret"; options.DefaultUserMailboxId = "user@your-domain.com";});使用示例
public class FeishuMailService(IEnterpriseMailProvider mail){ public async Task<MailMessage> GetAsync(string messageId) { return await mail.GetMessageAsync(messageId); }
public async Task<IReadOnlyList<MailFolder>> GetFoldersAsync() { return await mail.ListFoldersAsync(); }}已知限制
- 飞书邮箱 API 要求
user_mailbox_id作为路径参数。DefaultUserMailboxId为全局默认,也可在调用时覆盖。 - 飞书邮箱与飞书 TeamWork 共用 AppId/AppSecret,但属于不同应用权限范围。
相关
- 企业邮箱域手册:接口设计